;;; GNU Guix --- Functional package management for GNU
;;;
;;; Copyright © 2021 southerntofu <southerntofu@militant.es>
;;; Copyright © 2021 muradm <mail@muradm.net>
;;; Copyright © 2021 pineapples <guixuser6392@protonmail.com>
;;; Copyright © 2022 singpolyma <singpolyma@singpolyma.net>
;;; Copyright © 2021-2022 jgart <jgart@dismail.de>
;;; Copyright © 2022 (unmatched parenthesis <paren@disroot.org>
;;;
;;; This file is not part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (guixrus packages common rust)
  #:use-module (guix build-system cargo)
  #:use-module (guix download)
  #:use-module (guix gexp)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix packages)
  #:use-module (guix utils)
  #:use-module (gnu packages check)
  #:use-module (gnu packages crates-graphics)
  #:use-module (gnu packages crates-io)
  #:use-module (gnu packages guile)
  #:use-module (gnu packages linux)
  #:use-module (gnu packages pkg-config))

(define-public rust-rexpect-0.4
  (package
    (name "rust-rexpect")
    (version "0.4.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rexpect" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "11kihz6dcri4gprd8pj0axf3z48rz5d6ml6x4nrglq8lv54h2b46"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-error-chain" ,rust-error-chain-0.12)
         ("rust-nix" ,rust-nix-0.14)
         ("rust-regex" ,rust-regex-1)
         ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/philippkeller/rexpect")
    (synopsis
      "Interact with unix processes/bash the same way as pexpect or Don libes expect does")
    (description
      "Interact with unix processes/bash the same way as pexpect or Don libes expect
does")
    (license license:expat)))

(define-public rust-xcb-0.8
  (package
    (name "rust-xcb")
    (version "0.8.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "xcb" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1ph27r9nxyfy3hh1c7x85g6dciwxcinf6514pvw9ybhl4hzpm4ay"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-libc" ,rust-libc-0.2)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-log" ,rust-log-0.4)
         ("rust-x11" ,rust-x11-2))))
    (home-page "https://github.com/rust-x-bindings/rust-xcb/tree/v1.0-dev")
    (synopsis "Rust safe bindings for XCB")
    (description "Rust safe bindings for XCB")
    (license license:expat)))

(define-public rust-x11-clipboard-0.3
  (package
    (name "rust-x11-clipboard")
    (version "0.3.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "x11-clipboard" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1smwyr23jns0dncm6bwv00xfxxy99bv6qlx6df7dkdcydk04kgc9"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t #:cargo-inputs (("rust-xcb" ,rust-xcb-0.8))))
    (home-page "https://github.com/quininer/x11-clipboard")
    (synopsis "x11 clipboard support for Rust.")
    (description "x11 clipboard support for Rust.")
    (license license:expat)))

(define-public rust-clipboard-win-2
  (package
    (name "rust-clipboard-win")
    (version "2.2.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "clipboard-win" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0svqk0lrw66abaxd6h7l4k4g2s5vd1dcipy34kzfan6mzvb97873"))))
    (build-system cargo-build-system)
    (arguments
     (list #:skip-build? #t
           #:cargo-inputs
           `(("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/DoumanAsh/clipboard-win")
    (synopsis "Interact with Windows clipboard in Rust")
    (description
     "This package provides a Rust library to interact with the
Windows clipboard.")
    (license license:expat)))

(define-public rust-clipboard-0.5
  (package
    (name "rust-clipboard")
    (version "0.5.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "clipboard" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1rxjfn811h09g6jpjjs2vx7z52wj6dxnflbwryfj6h03dij09a95"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-clipboard-win" ,rust-clipboard-win-2)
         ("rust-objc" ,rust-objc-0.2)
         ("rust-objc-foundation" ,rust-objc-foundation-0.1)
         ("rust-objc-id" ,rust-objc-id-0.1)
         ("rust-x11-clipboard" ,rust-x11-clipboard-0.3))))
    (home-page "https://github.com/aweinstock314/rust-clipboard")
    (synopsis
      "rust-clipboard is a cross-platform library for getting and setting the contents of the OS-level clipboard.")
    (description
      "rust-clipboard is a cross-platform library for getting and setting the contents
of the OS-level clipboard.")
    (license (list license:expat license:asl2.0))))

(define-public rust-thiserror-impl-1
  (package
    (name "rust-thiserror-impl")
    (version "1.0.30")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "thiserror-impl" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0jviwmvx6wzawsj6c9msic7h419wmsbjagl9dzhpydkzc8zzscma"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/dtolnay/thiserror")
    (synopsis "Implementation detail of the `thiserror` crate")
    (description "Implementation detail of the `thiserror` crate")
    (license (list license:expat license:asl2.0))))

(define-public rust-thiserror-1
  (package
    (name "rust-thiserror")
    (version "1.0.30")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "thiserror" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "05y4wm29ck8flwq5k1q6nhwh00a3b30cz3xr0qvnbwad5vjsnjw5"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-thiserror-impl" ,rust-thiserror-impl-1))))
    (home-page "https://github.com/dtolnay/thiserror")
    (synopsis "derive(Error)")
    (description "derive(Error)")
    (license (list license:expat license:asl2.0))))

(define-public rust-structopt-derive-0.4
  (package
    (name "rust-structopt-derive")
    (version "0.4.18")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "structopt-derive" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1q5gcigmvw0cinjxzpyrkflliq5r1ivljmrvfrl3phcwgwraxdfw"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-heck" ,rust-heck-0.3)
         ("rust-proc-macro-error" ,rust-proc-macro-error-1)
         ("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/TeXitoi/structopt")
    (synopsis
      "Parse command line argument by defining a struct, derive crate.")
    (description
      "Parse command line argument by defining a struct, derive crate.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-structopt-0.3
  (package
    (name "rust-structopt")
    (version "0.3.26")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "structopt" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "043sg3qxllann6q9i71d05qp3q13scmcvhxhd950ka2v8ij5qsqc"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-clap" ,rust-clap-2)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-paw" ,rust-paw-1)
         ("rust-structopt-derive" ,rust-structopt-derive-0.4))))
    (home-page "https://github.com/TeXitoi/structopt")
    (synopsis "Parse command line argument by defining a struct.")
    (description "Parse command line argument by defining a struct.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-rio-0.9
  (package
    (name "rust-rio")
    (version "0.9.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rio" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0nv8wrnkd41flb32lmxb412l6m1790j12c3lg305764hcmbc564y"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t #:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/spacejam/rio")
    (synopsis
      "GPL-3.0 nice bindings for io_uring. MIT/Apache-2.0 license is available for spacejam's github sponsors.")
    (description
      "GPL-3.0 nice bindings for io_uring.  MIT/Apache-2.0 license is available for
spacejam's github sponsors.")
    (license license:gpl3)))

(define-public rust-thread-id-4
  (package
    (name "rust-thread-id")
    (version "4.0.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "thread-id" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0zvikdngp0950hi0jgiipr8l36rskk1wk7pc8cd43xr3g5if1psz"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-libc" ,rust-libc-0.2)
         ("rust-redox-syscall" ,rust-redox-syscall-0.2)
         ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/ruuda/thread-id")
    (synopsis "Get a unique thread ID")
    (description "Get a unique thread ID")
    (license (list license:expat license:asl2.0))))

(define-public rust-redox-syscall-0.2
  (package
    (name "rust-redox-syscall")
    (version "0.2.10")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "redox_syscall" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1zq36bhw4c6xig340ja1jmr36iy0d3djp8smsabxx71676bg70w3"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1))))
    (home-page "https://gitlab.redox-os.org/redox-os/syscall")
    (synopsis "A Rust library to access raw Redox system calls")
    (description
      "This package provides a Rust library to access raw Redox system calls")
    (license license:expat)))

(define-public rust-parking-lot-core-0.8
  (package
    (name "rust-parking-lot-core")
    (version "0.8.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "parking_lot_core" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "05ij4zxsylx99srbq8qd1k2wiwaq8krkf9y4cqkhvb5wjca8wvnp"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-backtrace" ,rust-backtrace-0.3)
         ("rust-cfg-if" ,rust-cfg-if-1)
         ("rust-instant" ,rust-instant-0.1)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-petgraph" ,rust-petgraph-0.5)
         ("rust-redox-syscall" ,rust-redox-syscall-0.2)
         ("rust-smallvec" ,rust-smallvec-1)
         ("rust-thread-id" ,rust-thread-id-4)
         ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/Amanieu/parking_lot")
    (synopsis
      "An advanced API for creating custom synchronization primitives.")
    (description
      "An advanced API for creating custom synchronization primitives.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-lock-api-0.4
  (package
    (name "rust-lock-api")
    (version "0.4.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "lock_api" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "028izfyraynijd9h9x5miv1vmg6sjnw1v95wgm7f4xlr7h4lsaki"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-owning-ref" ,rust-owning-ref-0.4)
         ("rust-scopeguard" ,rust-scopeguard-1)
         ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/Amanieu/parking_lot")
    (synopsis
      "Wrappers to create fully-featured Mutex and RwLock types. Compatible with no_std.")
    (description
      "Wrappers to create fully-featured Mutex and RwLock types.  Compatible with
no_std.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-instant-0.1
  (package
    (name "rust-instant")
    (version "0.1.12")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "instant" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0b2bx5qdlwayriidhrag8vhy10kdfimfhmb3jnjmsz2h9j1bwnvs"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-cfg-if" ,rust-cfg-if-1)
         ("rust-js-sys" ,rust-js-sys-0.3)
         ("rust-stdweb" ,rust-stdweb-0.4)
         ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
         ("rust-web-sys" ,rust-web-sys-0.3))))
    (home-page "https://github.com/sebcrozet/instant")
    (synopsis
      "A partial replacement for std::time::Instant that works on WASM too.")
    (description
      "This package provides a partial replacement for std::time::Instant that works on
WASM too.")
    (license license:bsd-3)))

(define-public rust-parking-lot-0.11
  (package
    (name "rust-parking-lot")
    (version "0.11.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "parking_lot" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "16gzf41bxmm10x82bla8d6wfppy9ym3fxsmdjyvn61m66s0bf5vx"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-instant" ,rust-instant-0.1)
         ("rust-lock-api" ,rust-lock-api-0.4)
         ("rust-parking-lot-core" ,rust-parking-lot-core-0.8))))
    (home-page "https://github.com/Amanieu/parking_lot")
    (synopsis
      "More compact and efficient implementations of the standard synchronization primitives.")
    (description
      "More compact and efficient implementations of the standard synchronization
primitives.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-tracing-attributes-0.1
  (package
    (name "rust-tracing-attributes")
    (version "0.1.18")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "tracing-attributes" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "13izzsgrmcg2076ksdibvyxx7d8y9klm3b9pycjyh4hmz2w81x7l"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://tokio.rs")
    (synopsis
      "Procedural macro attributes for automatically instrumenting functions.
")
    (description
      "Procedural macro attributes for automatically instrumenting functions.")
    (license license:expat)))

(define-public rust-tracing-0.1
  (package
    (name "rust-tracing")
    (version "0.1.29")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "tracing" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0191zcbnkn8wy0b7xbz7jd9m2xf3sjr8k3cfqzghxwya6a966nip"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-cfg-if" ,rust-cfg-if-1)
         ("rust-log" ,rust-log-0.4)
         ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
         ("rust-tracing-attributes" ,rust-tracing-attributes-0.1)
         ("rust-tracing-core" ,rust-tracing-core-0.1))))
    (home-page "https://tokio.rs")
    (synopsis "Application-level tracing for Rust.
")
    (description "Application-level tracing for Rust.")
    (license license:expat)))

(define-public rust-generator-0.7
  (package
    (name "rust-generator")
    (version "0.7.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "generator" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1vhj3f0rf4mlh5vz7pz5rxmgry1cc62x21mf9ld1r292m2f2gnf1"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-cc" ,rust-cc-1)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-log" ,rust-log-0.4)
         ("rust-rustversion" ,rust-rustversion-1)
         ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/Xudong-Huang/generator-rs.git")
    (synopsis "Stackfull Generator Library in Rust")
    (description "Stackfull Generator Library in Rust")
    (license (list license:expat license:asl2.0))))

(define-public rust-loom-0.5
  (package
    (name "rust-loom")
    (version "0.5.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "loom" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "02a30cv9l2afjq5bg42hgcjspx8fgwyij0cf9saw8b73539wgigd"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-cfg-if" ,rust-cfg-if-1)
         ("rust-generator" ,rust-generator-0.7)
         ("rust-pin-utils" ,rust-pin-utils-0.1)
         ("rust-scoped-tls" ,rust-scoped-tls-1)
         ("rust-serde" ,rust-serde-1)
         ("rust-serde-json" ,rust-serde-json-1)
         ("rust-tracing" ,rust-tracing-0.1)
         ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))))
    (home-page "https://github.com/tokio-rs/loom")
    (synopsis "Permutation testing for concurrent code")
    (description "Permutation testing for concurrent code")
    (license license:expat)))

(define-public rust-crossbeam-utils-0.8
  (package
    (name "rust-crossbeam-utils")
    (version "0.8.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "crossbeam-utils" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0841rd6wgj7nrrhwp7kyclh4x0k9q4zc7cfd9bk4gy9lvczf1jng"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-cfg-if" ,rust-cfg-if-1)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-loom" ,rust-loom-0.5))))
    (home-page
      "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-utils")
    (synopsis "Utilities for concurrent programming")
    (description "Utilities for concurrent programming")
    (license (list license:expat license:asl2.0))))

(define-public rust-const-fn-0.4
  (package
    (name "rust-const-fn")
    (version "0.4.9")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "const_fn" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0df9fv9jhnh9b4ni3s2fbfcvq77iia4lbb89fklwawbgv2vdrp7v"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/taiki-e/const_fn")
    (synopsis
      "An attribute for easy generation of const functions with conditional compilations.
")
    (description
      "An attribute for easy generation of const functions with conditional
compilations.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-crossbeam-epoch-0.9
  (package
    (name "rust-crossbeam-epoch")
    (version "0.9.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "crossbeam-epoch" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0ql7gx9yfdyyzdvrf089fddkrq4wbfzw9wvd1dfsd2cvvxq2l94p"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-cfg-if" ,rust-cfg-if-1)
         ("rust-const-fn" ,rust-const-fn-0.4)
         ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-loom" ,rust-loom-0.5)
         ("rust-memoffset" ,rust-memoffset-0.6)
         ("rust-scopeguard" ,rust-scopeguard-1))))
    (home-page
      "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-epoch")
    (synopsis "Epoch-based garbage collection")
    (description "Epoch-based garbage collection")
    (license (list license:expat license:asl2.0))))

(define-public rust-crc32fast-1
  (package
    (name "rust-crc32fast")
    (version "1.3.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "crc32fast" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1qv0krk4ggxzz68x199xm9wg3bw4dgiff8971dznz1r91qqrq852"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t #:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1))))
    (home-page "https://github.com/srijs/rust-crc32fast")
    (synopsis "Fast, SIMD-accelerated CRC32 (IEEE) checksum computation")
    (description "Fast, SIMD-accelerated CRC32 (IEEE) checksum computation")
    (license (list license:expat license:asl2.0))))

(define-public rust-object-0.27
  (package
    (name "rust-object")
    (version "0.27.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "object" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1ygv9zgi9wz6q5f2z9xn72i0c97jjr1dgj30kbyicdhxk8zivb37"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
         ("rust-crc32fast" ,rust-crc32fast-1)
         ("rust-flate2" ,rust-flate2-1)
         ("rust-indexmap" ,rust-indexmap-1)
         ("rust-memchr" ,rust-memchr-2)
         ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
         ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
         ("rust-wasmparser" ,rust-wasmparser-0.57))))
    (home-page "https://github.com/gimli-rs/object")
    (synopsis
      "A unified interface for reading and writing object file formats.")
    (description
      "This package provides a unified interface for reading and writing object file
formats.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-gimli-0.26
  (package
    (name "rust-gimli")
    (version "0.26.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "gimli" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1m0vi36ypv4gx9gzcw6y456yqnlypizhwlcqrmg6vkwd0lnkgk3q"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
         ("rust-fallible-iterator" ,rust-fallible-iterator-0.2)
         ("rust-indexmap" ,rust-indexmap-1)
         ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
         ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
         ("rust-stable-deref-trait" ,rust-stable-deref-trait-1))))
    (home-page "https://github.com/gimli-rs/gimli")
    (synopsis "A library for reading and writing the DWARF debugging format.")
    (description
      "This package provides a library for reading and writing the DWARF debugging
format.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-addr2line-0.17
  (package
    (name "rust-addr2line")
    (version "0.17.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "addr2line" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0sw16zqy6w0ar633z69m7lw6gb0k1y7xj3387a8wly43ij5div5r"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
         ("rust-cpp-demangle" ,rust-cpp-demangle-0.3)
         ("rust-fallible-iterator" ,rust-fallible-iterator-0.2)
         ("rust-gimli" ,rust-gimli-0.26)
         ("rust-object" ,rust-object-0.27)
         ("rust-rustc-demangle" ,rust-rustc-demangle-0.1)
         ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
         ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
         ("rust-smallvec" ,rust-smallvec-1))))
    (home-page "https://github.com/gimli-rs/addr2line")
    (synopsis
      "A cross-platform symbolication library written in Rust, using `gimli`")
    (description
      "This package provides a cross-platform symbolication library written in Rust,
using `gimli`")
    (license (list license:asl2.0 license:expat))))

(define-public rust-backtrace-0.3
  (package
    (name "rust-backtrace")
    (version "0.3.63")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "backtrace" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1dp1dik2riphgslibafp3kzj95f8kgx42wkh4qghc4v5pbc2j5ij"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-addr2line" ,rust-addr2line-0.17)
         ("rust-cc" ,rust-cc-1)
         ("rust-cfg-if" ,rust-cfg-if-1)
         ("rust-cpp-demangle" ,rust-cpp-demangle-0.3)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-miniz-oxide" ,rust-miniz-oxide-0.4)
         ("rust-object" ,rust-object-0.27)
         ("rust-rustc-demangle" ,rust-rustc-demangle-0.1)
         ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
         ("rust-serde" ,rust-serde-1)
         ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/rust-lang/backtrace-rs")
    (synopsis
      "A library to acquire a stack trace (backtrace) at runtime in a Rust program.
")
    (description
      "This package provides a library to acquire a stack trace (backtrace) at runtime
in a Rust program.")
    (license (list license:expat license:asl2.0))))

(define-public rust-sled-0.34
  (package
    (name "rust-sled")
    (version "0.34.7")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "sled" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0dcr2s7cylj5mb33ci3kpx7fz797jwvysnl5airrir9cgirv95kz"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-backtrace" ,rust-backtrace-0.3)
         ("rust-color-backtrace" ,rust-color-backtrace-0.5)
         ("rust-crc32fast" ,rust-crc32fast-1)
         ("rust-crossbeam-epoch" ,rust-crossbeam-epoch-0.9)
         ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8)
         ("rust-fs2" ,rust-fs2-0.4)
         ("rust-fxhash" ,rust-fxhash-0.2)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-log" ,rust-log-0.4)
         ("rust-parking-lot" ,rust-parking-lot-0.11)
         ("rust-rio" ,rust-rio-0.9)
         ("rust-zstd" ,rust-zstd-0.9))))
    (home-page "https://github.com/spacejam/sled")
    (synopsis
      "Lightweight high-performance pure-rust transactional embedded database.")
    (description
      "Lightweight high-performance pure-rust transactional embedded database.")
    (license (list license:expat license:asl2.0))))

(define-public rust-skim-0.9
  (package
    (name "rust-skim")
    (version "0.9.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "skim" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1d5v9vq8frkdjm7bnw3455h6xf3c277d51il2qasn7r20kwik7ab"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-atty" ,rust-atty-0.2)
         ("rust-beef" ,rust-beef-0.5)
         ("rust-bitflags" ,rust-bitflags-1)
         ("rust-chrono" ,rust-chrono-0.4)
         ("rust-clap" ,rust-clap-2)
         ("rust-crossbeam" ,rust-crossbeam-0.8)
         ("rust-defer-drop" ,rust-defer-drop-1)
         ("rust-derive-builder" ,rust-derive-builder-0.9)
         ("rust-env-logger" ,rust-env-logger-0.8)
         ("rust-fuzzy-matcher" ,rust-fuzzy-matcher-0.3)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-log" ,rust-log-0.4)
         ("rust-nix" ,rust-nix-0.19)
         ("rust-rayon" ,rust-rayon-1)
         ("rust-regex" ,rust-regex-1)
         ("rust-shlex" ,rust-shlex-0.1)
         ("rust-time" ,rust-time-0.2)
         ("rust-timer" ,rust-timer-0.2)
         ("rust-tuikit" ,rust-tuikit-0.4)
         ("rust-unicode-width" ,rust-unicode-width-0.1)
         ("rust-vte" ,rust-vte-0.9))))
    (home-page "https://github.com/lotabout/skim")
    (synopsis "Fuzzy Finder in rust!")
    (description "Fuzzy Finder in rust!")
    (license license:expat)))

(define-public rust-serde-yaml-0.8
  (package
    (name "rust-serde-yaml")
    (version "0.8.23")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "serde_yaml" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1857pykxavramvf4p9bp40b3sqwrhnm8dqjfl9jw3183jkr239d4"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-indexmap" ,rust-indexmap-1)
         ("rust-ryu" ,rust-ryu-1)
         ("rust-serde" ,rust-serde-1)
         ("rust-yaml-rust" ,rust-yaml-rust-0.4))))
    (home-page "https://github.com/dtolnay/serde-yaml")
    (synopsis "YAML support for Serde")
    (description "YAML support for Serde")
    (license (list license:expat license:asl2.0))))

(define-public rust-number-prefix-0.4
  (package
    (name "rust-number-prefix")
    (version "0.4.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "number_prefix" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1wvh13wvlajqxkb1filsfzbrnq0vrmrw298v2j3sy82z1rm282w3"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/ogham/rust-number-prefix")
    (synopsis "Library for numeric prefixes (kilo, giga, kibi).")
    (description "Library for numeric prefixes (kilo, giga, kibi).")
    (license license:expat)))

(define-public rust-indicatif-0.16
  (package
    (name "rust-indicatif")
    (version "0.16.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "indicatif" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "06xyjs0kzqiqkjn60n1miwm2l87sa9p2lmzz0ymq18y72z37s81d"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-console" ,rust-console-0.15)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-number-prefix" ,rust-number-prefix-0.4)
         ("rust-rayon" ,rust-rayon-1)
         ("rust-regex" ,rust-regex-1)
         ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
         ("rust-unicode-width" ,rust-unicode-width-0.1))))
    (home-page "https://github.com/mitsuhiko/indicatif")
    (synopsis "A progress bar and cli reporting library for Rust")
    (description
      "This package provides a progress bar and cli reporting library for Rust")
    (license license:expat)))

(define-public rust-dialoguer-0.9
  (package
    (name "rust-dialoguer")
    (version "0.9.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "dialoguer" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1sxy4nd9kd9wslxnjdjyxgmsg5fil3dnzy63z8f07in09vd9lmv1"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-console" ,rust-console-0.15)
         ("rust-fuzzy-matcher" ,rust-fuzzy-matcher-0.3)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-tempfile" ,rust-tempfile-3)
         ("rust-zeroize" ,rust-zeroize-1))))
    (home-page "https://github.com/mitsuhiko/dialoguer")
    (synopsis "A command line prompting library.")
    (description "This package provides a command line prompting library.")
    (license license:expat)))

(define-public rust-directories-2
  (package
    (inherit rust-directories-4)
    (name "rust-directories")
    (version "2.0.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "directories" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "071pjx760m0dccdxlhwsz9m0zl180hxwlag62bydfl54fa0pf6jm"))))
    (arguments
     (list #:cargo-inputs
           `(("rust-cfg-if" ,rust-cfg-if-0.1)
             ("rust-dirs-sys" ,rust-dirs-sys-0.3))
           #:cargo-development-inputs
           `(("rust-bencher" ,rust-bencher-0.1))))))

(define-public rust-directories-next-1
  (package
    (inherit rust-directories-next-2)
    (name "rust-directories-next")
    (version "1.0.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "directories-next" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0mmym1h9vlyapwlzygfas3q9mx03mki8cnf5y1bmr713q7mwqa4a"))))
    (arguments
     (list #:cargo-inputs
           `(("rust-cfg-if" ,rust-cfg-if-1)
             ("rust-dirs-sys-next" ,rust-dirs-sys-next-0.1))
           #:cargo-development-inputs
           `(("rust-bencher" ,rust-bencher-0.1))))))

(define-public rust-confy-0.4
  (package
    (name "rust-confy")
    (version "0.4.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "confy" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "15v6g3k1jj5g966c2nlc5klim06yl287zw9i1y54ks790h14f4r9"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-directories" ,rust-directories-2)
         ("rust-serde" ,rust-serde-1)
         ("rust-toml" ,rust-toml-0.5))))
    (home-page "https://github.com/rust-clique/confy")
    (synopsis "Boilerplate-free configuration management")
    (description "Boilerplate-free configuration management")
    (license (list license:expat license:x11 license:asl2.0))))

(define-public rust-pyo3-macros-backend-0.13
  (package
    (name "rust-pyo3-macros-backend")
    (version "0.13.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "pyo3-macros-backend" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0rjxayd78l10hnyphk03bcvhm0jpsvnzn07lczhy7jsgv3jrgc47"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/pyo3/pyo3")
    (synopsis "Code generation for PyO3 package")
    (description "Code generation for PyO3 package")
    (license license:asl2.0)))

(define-public rust-pyo3-macros-0.13
  (package
    (name "rust-pyo3-macros")
    (version "0.13.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "pyo3-macros" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1fxi5lx5dl7xh469gr5xckyjy3r3c5dqypzxcj0fbhzf1hq2qzx4"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-pyo3-macros-backend" ,rust-pyo3-macros-backend-0.13)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/pyo3/pyo3")
    (synopsis "Proc macros for PyO3 package")
    (description "Proc macros for PyO3 package")
    (license license:asl2.0)))

(define-public rust-inventory-impl-0.1
  (package
    (name "rust-inventory-impl")
    (version "0.1.11")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "inventory-impl" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0j45a7nq4vircnz5m23db34527icxqnvh2si96zc9w662lvvahby"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/dtolnay/inventory")
    (synopsis "Implementation of macros for the `inventory` crate")
    (description "Implementation of macros for the `inventory` crate")
    (license (list license:expat license:asl2.0))))

(define-public rust-ghost-0.1
  (package
    (name "rust-ghost")
    (version "0.1.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ghost" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0yalg3g1g3cz63n3phy7cdhh7p2qd220mrpxy96alwxbpqdwynqs"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/dtolnay/ghost")
    (synopsis "Define your own PhantomData")
    (description "Define your own PhantomData")
    (license (list license:expat license:asl2.0))))

(define-public rust-inventory-0.1
  (package
    (name "rust-inventory")
    (version "0.1.11")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "inventory" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1m1zdjgs3nzfdxf86mc1i0id56fvk8rfw63rf04yi88bqrh53szh"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-ctor" ,rust-ctor-0.1)
         ("rust-ghost" ,rust-ghost-0.1)
         ("rust-inventory-impl" ,rust-inventory-impl-0.1))))
    (home-page "https://github.com/dtolnay/inventory")
    (synopsis "Typed distributed plugin registration")
    (description "Typed distributed plugin registration")
    (license (list license:expat license:asl2.0))))

(define-public rust-indoc-impl-0.3
  (package
    (name "rust-indoc-impl")
    (version "0.3.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "indoc-impl" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1w58yg249kmzsn75kcj34qaxqh839l1hsaj3bzggy3q03wb6s16f"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
         ("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1)
         ("rust-unindent" ,rust-unindent-0.1))))
    (home-page "https://github.com/dtolnay/indoc")
    (synopsis "Indented document literals")
    (description "Indented document literals")
    (license (list license:expat license:asl2.0))))

(define-public rust-indoc-0.3
  (package
    (name "rust-indoc")
    (version "0.3.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "indoc" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1n2fd2wm1h005hd7pjgx4gv5ymyq4sxqn8z0ssw6xchgqs5ilx27"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-indoc-impl" ,rust-indoc-impl-0.3)
         ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5))))
    (home-page "https://github.com/dtolnay/indoc")
    (synopsis "Indented document literals")
    (description "Indented document literals")
    (license (list license:expat license:asl2.0))))

(define-public rust-pyo3-0.13
  (package
    (name "rust-pyo3")
    (version "0.13.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "pyo3" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1hq965lgi25dn578fpn9hjva6zjr1c8rl7lxywijq44aw7lbhds8"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-cfg-if" ,rust-cfg-if-1)
         ("rust-ctor" ,rust-ctor-0.1)
         ("rust-hashbrown" ,rust-hashbrown-0.9)
         ("rust-indoc" ,rust-indoc-0.3)
         ("rust-inventory" ,rust-inventory-0.1)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-num-bigint" ,rust-num-bigint-0.3)
         ("rust-num-complex" ,rust-num-complex-0.3)
         ("rust-parking-lot" ,rust-parking-lot-0.11)
         ("rust-paste" ,rust-paste-0.1)
         ("rust-pyo3-macros" ,rust-pyo3-macros-0.13)
         ("rust-serde" ,rust-serde-1)
         ("rust-unindent" ,rust-unindent-0.1))))
    (home-page "https://github.com/pyo3/pyo3")
    (synopsis "Bindings to Python interpreter")
    (description "Bindings to Python interpreter")
    (license license:asl2.0)))

(define-public rust-indenter-0.3
  (package
    (name "rust-indenter")
    (version "0.3.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "indenter" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "10y6i6y4ls7xsfsc1r3p5j2hhbxhaqnk5zzk8aj52b14v05ba8yf"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/yaahc/indenter")
    (synopsis
      "A formatter wrapper that indents the text, designed for error display impls
")
    (description
      "This package provides a formatter wrapper that indents the text, designed for
error display impls")
    (license (list license:expat license:asl2.0))))

(define-public rust-eyre-0.6
  (package
    (name "rust-eyre")
    (version "0.6.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "eyre" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1f0fbmrcykp84av1yb1d4cqj28jwf0zg1z49a1cgw8vrcf7ms8mw"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-indenter" ,rust-indenter-0.3)
         ("rust-once-cell" ,rust-once-cell-1)
         ("rust-pyo3" ,rust-pyo3-0.13))))
    (home-page "https://github.com/yaahc/eyre")
    (synopsis
      "Flexible concrete Error Reporting type built on std::error::Error with customizable Reports")
    (description
      "Flexible concrete Error Reporting type built on std::error::Error with
customizable Reports")
    (license (list license:expat license:asl2.0))))

(define-public rust-tracing-error-0.1
  (package
    (name "rust-tracing-error")
    (version "0.1.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "tracing-error" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "092y3357af6058mdw7nmr7sysqdka8b4cyaqz940fl2a7nwc1mxl"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-tracing" ,rust-tracing-0.1)
         ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.2))))
    (home-page "https://tokio.rs")
    (synopsis "Utilities for enriching errors with `tracing`.
")
    (description "Utilities for enriching errors with `tracing`.")
    (license license:expat)))

(define-public rust-owo-colors-1
  (package
    (name "rust-owo-colors")
    (version "1.4.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "owo-colors" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0rybl2lvhaycpkpaq45099idp5ny7nv4sqsafz0cvfqw1wjfy9vz"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t #:cargo-inputs (("rust-atty" ,rust-atty-0.2))))
    (home-page "https://github.com/jam1garner/owo-colors")
    (synopsis "Zero-allocation terminal colors that'll make people go owo")
    (description "Zero-allocation terminal colors that'll make people go owo")
    (license license:expat)))

(define-public rust-color-spantrace-0.1
  (package
    (name "rust-color-spantrace")
    (version "0.1.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "color-spantrace" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1lb2li71zvpxp80nck98gcqbqm3dnmp43pnlvm52z9x8livy9vmn"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-once-cell" ,rust-once-cell-1)
         ("rust-owo-colors" ,rust-owo-colors-1)
         ("rust-tracing-core" ,rust-tracing-core-0.1)
         ("rust-tracing-error" ,rust-tracing-error-0.1))))
    (home-page "https://github.com/yaahc/color-spantrace")
    (synopsis
      "A pretty printer for tracing_error::SpanTrace based on color-backtrace")
    (description
      "This package provides a pretty printer for tracing_error::SpanTrace based on
color-backtrace")
    (license (list license:expat license:asl2.0))))

(define-public rust-color-eyre-0.5
  (package
    (name "rust-color-eyre")
    (version "0.5.11")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "color-eyre" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1dspj58bk57f9hiqlvbz25rik92i4a95iwa2dl4pg8g8grlqa60z"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-backtrace" ,rust-backtrace-0.3)
         ("rust-color-spantrace" ,rust-color-spantrace-0.1)
         ("rust-eyre" ,rust-eyre-0.6)
         ("rust-indenter" ,rust-indenter-0.3)
         ("rust-once-cell" ,rust-once-cell-1)
         ("rust-owo-colors" ,rust-owo-colors-1)
         ("rust-tracing-error" ,rust-tracing-error-0.1)
         ("rust-url" ,rust-url-2))))
    (home-page "https://github.com/yaahc/color-eyre")
    (synopsis
      "An error report handler for panics and eyre::Reports for colorful, consistent, and well formatted error reports for all kinds of errors.")
    (description
      "An error report handler for panics and eyre::Reports for colorful, consistent,
and well formatted error reports for all kinds of errors.")
    (license (list license:expat license:asl2.0))))

(define-public rust-scanlex-0.1
  (package
    (name "rust-scanlex")
    (version "0.1.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "scanlex" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1nrkq1kjwf3v084pndiq18yx6vqsivlqr6jllyg94911axqmv308"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/stevedonovan/scanlex.git")
    (synopsis "a simple lexical scanner for parsing text into tokens")
    (description "a simple lexical scanner for parsing text into tokens")
    (license license:expat)))

(define-public rust-chrono-english-0.1
  (package
    (name "rust-chrono-english")
    (version "0.1.7")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "chrono-english" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0vqdl2bfyv224xv2xnqa9rsnbn89pjhzbhvrqs47sjpblyfr0ggp"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-chrono" ,rust-chrono-0.4) ("rust-scanlex" ,rust-scanlex-0.1))))
    (home-page "https://github.com/stevedonovan/chrono-english.git")
    (synopsis "parses simple English dates, inspired by Linux date command")
    (description "parses simple English dates, inspired by Linux date command")
    (license license:expat)))

(define-public rust-rexpect-0.4
  (package
    (name "rust-rexpect")
    (version "0.4.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rexpect" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "11kihz6dcri4gprd8pj0axf3z48rz5d6ml6x4nrglq8lv54h2b46"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-error-chain" ,rust-error-chain-0.12)
         ("rust-nix" ,rust-nix-0.14)
         ("rust-regex" ,rust-regex-1)
         ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/philippkeller/rexpect")
    (synopsis
      "Interact with unix processes/bash the same way as pexpect or Don libes expect does")
    (description
      "Interact with unix processes/bash the same way as pexpect or Don libes expect
does")
    (license license:expat)))

(define-public rust-xcb-0.8
  (package
    (name "rust-xcb")
    (version "0.8.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "xcb" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1ph27r9nxyfy3hh1c7x85g6dciwxcinf6514pvw9ybhl4hzpm4ay"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-libc" ,rust-libc-0.2)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-log" ,rust-log-0.4)
         ("rust-x11" ,rust-x11-2))))
    (home-page "https://github.com/rust-x-bindings/rust-xcb/tree/v1.0-dev")
    (synopsis "Rust safe bindings for XCB")
    (description "Rust safe bindings for XCB")
    (license license:expat)))

(define-public rust-x11-clipboard-0.3
  (package
    (name "rust-x11-clipboard")
    (version "0.3.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "x11-clipboard" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1smwyr23jns0dncm6bwv00xfxxy99bv6qlx6df7dkdcydk04kgc9"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t #:cargo-inputs (("rust-xcb" ,rust-xcb-0.8))))
    (home-page "https://github.com/quininer/x11-clipboard")
    (synopsis "x11 clipboard support for Rust.")
    (description "x11 clipboard support for Rust.")
    (license license:expat)))

(define-public rust-clipboard-0.5
  (package
    (name "rust-clipboard")
    (version "0.5.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "clipboard" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1rxjfn811h09g6jpjjs2vx7z52wj6dxnflbwryfj6h03dij09a95"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-clipboard-win" ,rust-clipboard-win-2)
         ("rust-objc" ,rust-objc-0.2)
         ("rust-objc-foundation" ,rust-objc-foundation-0.1)
         ("rust-objc-id" ,rust-objc-id-0.1)
         ("rust-x11-clipboard" ,rust-x11-clipboard-0.3))))
    (home-page "https://github.com/aweinstock314/rust-clipboard")
    (synopsis
      "rust-clipboard is a cross-platform library for getting and setting the contents of the OS-level clipboard.")
    (description
      "rust-clipboard is a cross-platform library for getting and setting the contents
of the OS-level clipboard.")
    (license (list license:expat license:asl2.0))))

(define-public rust-thiserror-impl-1
  (package
    (name "rust-thiserror-impl")
    (version "1.0.30")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "thiserror-impl" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0jviwmvx6wzawsj6c9msic7h419wmsbjagl9dzhpydkzc8zzscma"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/dtolnay/thiserror")
    (synopsis "Implementation detail of the `thiserror` crate")
    (description "Implementation detail of the `thiserror` crate")
    (license (list license:expat license:asl2.0))))

(define-public rust-thiserror-1
  (package
    (name "rust-thiserror")
    (version "1.0.30")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "thiserror" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "05y4wm29ck8flwq5k1q6nhwh00a3b30cz3xr0qvnbwad5vjsnjw5"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-thiserror-impl" ,rust-thiserror-impl-1))))
    (home-page "https://github.com/dtolnay/thiserror")
    (synopsis "derive(Error)")
    (description "derive(Error)")
    (license (list license:expat license:asl2.0))))

(define-public rust-structopt-derive-0.4
  (package
    (name "rust-structopt-derive")
    (version "0.4.18")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "structopt-derive" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1q5gcigmvw0cinjxzpyrkflliq5r1ivljmrvfrl3phcwgwraxdfw"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-heck" ,rust-heck-0.3)
         ("rust-proc-macro-error" ,rust-proc-macro-error-1)
         ("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/TeXitoi/structopt")
    (synopsis
      "Parse command line argument by defining a struct, derive crate.")
    (description
      "Parse command line argument by defining a struct, derive crate.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-structopt-0.3
  (package
    (name "rust-structopt")
    (version "0.3.26")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "structopt" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "043sg3qxllann6q9i71d05qp3q13scmcvhxhd950ka2v8ij5qsqc"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-clap" ,rust-clap-2)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-paw" ,rust-paw-1)
         ("rust-structopt-derive" ,rust-structopt-derive-0.4))))
    (home-page "https://github.com/TeXitoi/structopt")
    (synopsis "Parse command line argument by defining a struct.")
    (description "Parse command line argument by defining a struct.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-rio-0.9
  (package
    (name "rust-rio")
    (version "0.9.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rio" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0nv8wrnkd41flb32lmxb412l6m1790j12c3lg305764hcmbc564y"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t #:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/spacejam/rio")
    (synopsis
      "GPL-3.0 nice bindings for io_uring. MIT/Apache-2.0 license is available for spacejam's github sponsors.")
    (description
      "GPL-3.0 nice bindings for io_uring.  MIT/Apache-2.0 license is available for
spacejam's github sponsors.")
    (license license:gpl3)))

(define-public rust-thread-id-4
  (package
    (name "rust-thread-id")
    (version "4.0.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "thread-id" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0zvikdngp0950hi0jgiipr8l36rskk1wk7pc8cd43xr3g5if1psz"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-libc" ,rust-libc-0.2)
         ("rust-redox-syscall" ,rust-redox-syscall-0.2)
         ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/ruuda/thread-id")
    (synopsis "Get a unique thread ID")
    (description "Get a unique thread ID")
    (license (list license:expat license:asl2.0))))

(define-public rust-redox-syscall-0.2
  (package
    (name "rust-redox-syscall")
    (version "0.2.10")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "redox_syscall" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1zq36bhw4c6xig340ja1jmr36iy0d3djp8smsabxx71676bg70w3"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1))))
    (home-page "https://gitlab.redox-os.org/redox-os/syscall")
    (synopsis "A Rust library to access raw Redox system calls")
    (description
      "This package provides a Rust library to access raw Redox system calls")
    (license license:expat)))

(define-public rust-parking-lot-core-0.8
  (package
    (name "rust-parking-lot-core")
    (version "0.8.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "parking_lot_core" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "05ij4zxsylx99srbq8qd1k2wiwaq8krkf9y4cqkhvb5wjca8wvnp"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-backtrace" ,rust-backtrace-0.3)
         ("rust-cfg-if" ,rust-cfg-if-1)
         ("rust-instant" ,rust-instant-0.1)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-petgraph" ,rust-petgraph-0.5)
         ("rust-redox-syscall" ,rust-redox-syscall-0.2)
         ("rust-smallvec" ,rust-smallvec-1)
         ("rust-thread-id" ,rust-thread-id-4)
         ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/Amanieu/parking_lot")
    (synopsis
      "An advanced API for creating custom synchronization primitives.")
    (description
      "An advanced API for creating custom synchronization primitives.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-lock-api-0.4
  (package
    (name "rust-lock-api")
    (version "0.4.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "lock_api" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "028izfyraynijd9h9x5miv1vmg6sjnw1v95wgm7f4xlr7h4lsaki"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-owning-ref" ,rust-owning-ref-0.4)
         ("rust-scopeguard" ,rust-scopeguard-1)
         ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/Amanieu/parking_lot")
    (synopsis
      "Wrappers to create fully-featured Mutex and RwLock types. Compatible with no_std.")
    (description
      "Wrappers to create fully-featured Mutex and RwLock types.  Compatible with
no_std.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-instant-0.1
  (package
    (name "rust-instant")
    (version "0.1.12")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "instant" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0b2bx5qdlwayriidhrag8vhy10kdfimfhmb3jnjmsz2h9j1bwnvs"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-cfg-if" ,rust-cfg-if-1)
         ("rust-js-sys" ,rust-js-sys-0.3)
         ("rust-stdweb" ,rust-stdweb-0.4)
         ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
         ("rust-web-sys" ,rust-web-sys-0.3))))
    (home-page "https://github.com/sebcrozet/instant")
    (synopsis
      "A partial replacement for std::time::Instant that works on WASM too.")
    (description
      "This package provides a partial replacement for std::time::Instant that works on
WASM too.")
    (license license:bsd-3)))

(define-public rust-parking-lot-0.11
  (package
    (name "rust-parking-lot")
    (version "0.11.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "parking_lot" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "16gzf41bxmm10x82bla8d6wfppy9ym3fxsmdjyvn61m66s0bf5vx"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-instant" ,rust-instant-0.1)
         ("rust-lock-api" ,rust-lock-api-0.4)
         ("rust-parking-lot-core" ,rust-parking-lot-core-0.8))))
    (home-page "https://github.com/Amanieu/parking_lot")
    (synopsis
      "More compact and efficient implementations of the standard synchronization primitives.")
    (description
      "More compact and efficient implementations of the standard synchronization
primitives.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-tracing-attributes-0.1
  (package
    (name "rust-tracing-attributes")
    (version "0.1.18")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "tracing-attributes" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "13izzsgrmcg2076ksdibvyxx7d8y9klm3b9pycjyh4hmz2w81x7l"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://tokio.rs")
    (synopsis
      "Procedural macro attributes for automatically instrumenting functions.
")
    (description
      "Procedural macro attributes for automatically instrumenting functions.")
    (license license:expat)))

(define-public rust-tracing-0.1
  (package
    (name "rust-tracing")
    (version "0.1.29")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "tracing" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0191zcbnkn8wy0b7xbz7jd9m2xf3sjr8k3cfqzghxwya6a966nip"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-cfg-if" ,rust-cfg-if-1)
         ("rust-log" ,rust-log-0.4)
         ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
         ("rust-tracing-attributes" ,rust-tracing-attributes-0.1)
         ("rust-tracing-core" ,rust-tracing-core-0.1))))
    (home-page "https://tokio.rs")
    (synopsis "Application-level tracing for Rust.
")
    (description "Application-level tracing for Rust.")
    (license license:expat)))

(define-public rust-generator-0.7
  (package
    (name "rust-generator")
    (version "0.7.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "generator" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1vhj3f0rf4mlh5vz7pz5rxmgry1cc62x21mf9ld1r292m2f2gnf1"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-cc" ,rust-cc-1)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-log" ,rust-log-0.4)
         ("rust-rustversion" ,rust-rustversion-1)
         ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/Xudong-Huang/generator-rs.git")
    (synopsis "Stackfull Generator Library in Rust")
    (description "Stackfull Generator Library in Rust")
    (license (list license:expat license:asl2.0))))

(define-public rust-loom-0.5
  (package
    (name "rust-loom")
    (version "0.5.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "loom" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "02a30cv9l2afjq5bg42hgcjspx8fgwyij0cf9saw8b73539wgigd"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-cfg-if" ,rust-cfg-if-1)
         ("rust-generator" ,rust-generator-0.7)
         ("rust-pin-utils" ,rust-pin-utils-0.1)
         ("rust-scoped-tls" ,rust-scoped-tls-1)
         ("rust-serde" ,rust-serde-1)
         ("rust-serde-json" ,rust-serde-json-1)
         ("rust-tracing" ,rust-tracing-0.1)
         ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))))
    (home-page "https://github.com/tokio-rs/loom")
    (synopsis "Permutation testing for concurrent code")
    (description "Permutation testing for concurrent code")
    (license license:expat)))

(define-public rust-crossbeam-utils-0.8
  (package
    (name "rust-crossbeam-utils")
    (version "0.8.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "crossbeam-utils" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0841rd6wgj7nrrhwp7kyclh4x0k9q4zc7cfd9bk4gy9lvczf1jng"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-cfg-if" ,rust-cfg-if-1)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-loom" ,rust-loom-0.5))))
    (home-page
      "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-utils")
    (synopsis "Utilities for concurrent programming")
    (description "Utilities for concurrent programming")
    (license (list license:expat license:asl2.0))))

(define-public rust-const-fn-0.4
  (package
    (name "rust-const-fn")
    (version "0.4.9")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "const_fn" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0df9fv9jhnh9b4ni3s2fbfcvq77iia4lbb89fklwawbgv2vdrp7v"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/taiki-e/const_fn")
    (synopsis
      "An attribute for easy generation of const functions with conditional compilations.
")
    (description
      "An attribute for easy generation of const functions with conditional
compilations.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-crossbeam-epoch-0.9
  (package
    (name "rust-crossbeam-epoch")
    (version "0.9.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "crossbeam-epoch" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0ql7gx9yfdyyzdvrf089fddkrq4wbfzw9wvd1dfsd2cvvxq2l94p"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-cfg-if" ,rust-cfg-if-1)
         ("rust-const-fn" ,rust-const-fn-0.4)
         ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-loom" ,rust-loom-0.5)
         ("rust-memoffset" ,rust-memoffset-0.6)
         ("rust-scopeguard" ,rust-scopeguard-1))))
    (home-page
      "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-epoch")
    (synopsis "Epoch-based garbage collection")
    (description "Epoch-based garbage collection")
    (license (list license:expat license:asl2.0))))

(define-public rust-crc32fast-1
  (package
    (name "rust-crc32fast")
    (version "1.3.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "crc32fast" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1qv0krk4ggxzz68x199xm9wg3bw4dgiff8971dznz1r91qqrq852"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t #:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1))))
    (home-page "https://github.com/srijs/rust-crc32fast")
    (synopsis "Fast, SIMD-accelerated CRC32 (IEEE) checksum computation")
    (description "Fast, SIMD-accelerated CRC32 (IEEE) checksum computation")
    (license (list license:expat license:asl2.0))))

(define-public rust-object-0.27
  (package
    (name "rust-object")
    (version "0.27.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "object" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1ygv9zgi9wz6q5f2z9xn72i0c97jjr1dgj30kbyicdhxk8zivb37"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
         ("rust-crc32fast" ,rust-crc32fast-1)
         ("rust-flate2" ,rust-flate2-1)
         ("rust-indexmap" ,rust-indexmap-1)
         ("rust-memchr" ,rust-memchr-2)
         ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
         ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
         ("rust-wasmparser" ,rust-wasmparser-0.57))))
    (home-page "https://github.com/gimli-rs/object")
    (synopsis
      "A unified interface for reading and writing object file formats.")
    (description
      "This package provides a unified interface for reading and writing object file
formats.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-gimli-0.26
  (package
    (name "rust-gimli")
    (version "0.26.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "gimli" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1m0vi36ypv4gx9gzcw6y456yqnlypizhwlcqrmg6vkwd0lnkgk3q"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
         ("rust-fallible-iterator" ,rust-fallible-iterator-0.2)
         ("rust-indexmap" ,rust-indexmap-1)
         ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
         ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
         ("rust-stable-deref-trait" ,rust-stable-deref-trait-1))))
    (home-page "https://github.com/gimli-rs/gimli")
    (synopsis "A library for reading and writing the DWARF debugging format.")
    (description
      "This package provides a library for reading and writing the DWARF debugging
format.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-addr2line-0.17
  (package
    (name "rust-addr2line")
    (version "0.17.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "addr2line" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0sw16zqy6w0ar633z69m7lw6gb0k1y7xj3387a8wly43ij5div5r"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
         ("rust-cpp-demangle" ,rust-cpp-demangle-0.3)
         ("rust-fallible-iterator" ,rust-fallible-iterator-0.2)
         ("rust-gimli" ,rust-gimli-0.26)
         ("rust-object" ,rust-object-0.27)
         ("rust-rustc-demangle" ,rust-rustc-demangle-0.1)
         ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
         ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
         ("rust-smallvec" ,rust-smallvec-1))))
    (home-page "https://github.com/gimli-rs/addr2line")
    (synopsis
      "A cross-platform symbolication library written in Rust, using `gimli`")
    (description
      "This package provides a cross-platform symbolication library written in Rust,
using `gimli`")
    (license (list license:asl2.0 license:expat))))

(define-public rust-backtrace-0.3
  (package
    (name "rust-backtrace")
    (version "0.3.63")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "backtrace" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1dp1dik2riphgslibafp3kzj95f8kgx42wkh4qghc4v5pbc2j5ij"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-addr2line" ,rust-addr2line-0.17)
         ("rust-cc" ,rust-cc-1)
         ("rust-cfg-if" ,rust-cfg-if-1)
         ("rust-cpp-demangle" ,rust-cpp-demangle-0.3)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-miniz-oxide" ,rust-miniz-oxide-0.4)
         ("rust-object" ,rust-object-0.27)
         ("rust-rustc-demangle" ,rust-rustc-demangle-0.1)
         ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
         ("rust-serde" ,rust-serde-1)
         ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/rust-lang/backtrace-rs")
    (synopsis
      "A library to acquire a stack trace (backtrace) at runtime in a Rust program.
")
    (description
      "This package provides a library to acquire a stack trace (backtrace) at runtime
in a Rust program.")
    (license (list license:expat license:asl2.0))))

(define-public rust-sled-0.34
  (package
    (name "rust-sled")
    (version "0.34.7")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "sled" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0dcr2s7cylj5mb33ci3kpx7fz797jwvysnl5airrir9cgirv95kz"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-backtrace" ,rust-backtrace-0.3)
         ("rust-color-backtrace" ,rust-color-backtrace-0.5)
         ("rust-crc32fast" ,rust-crc32fast-1)
         ("rust-crossbeam-epoch" ,rust-crossbeam-epoch-0.9)
         ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8)
         ("rust-fs2" ,rust-fs2-0.4)
         ("rust-fxhash" ,rust-fxhash-0.2)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-log" ,rust-log-0.4)
         ("rust-parking-lot" ,rust-parking-lot-0.11)
         ("rust-rio" ,rust-rio-0.9)
         ("rust-zstd" ,rust-zstd-0.9))))
    (home-page "https://github.com/spacejam/sled")
    (synopsis
      "Lightweight high-performance pure-rust transactional embedded database.")
    (description
      "Lightweight high-performance pure-rust transactional embedded database.")
    (license (list license:expat license:asl2.0))))

(define-public rust-skim-0.9
  (package
    (name "rust-skim")
    (version "0.9.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "skim" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1d5v9vq8frkdjm7bnw3455h6xf3c277d51il2qasn7r20kwik7ab"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-atty" ,rust-atty-0.2)
         ("rust-beef" ,rust-beef-0.5)
         ("rust-bitflags" ,rust-bitflags-1)
         ("rust-chrono" ,rust-chrono-0.4)
         ("rust-clap" ,rust-clap-2)
         ("rust-crossbeam" ,rust-crossbeam-0.8)
         ("rust-defer-drop" ,rust-defer-drop-1)
         ("rust-derive-builder" ,rust-derive-builder-0.9)
         ("rust-env-logger" ,rust-env-logger-0.8)
         ("rust-fuzzy-matcher" ,rust-fuzzy-matcher-0.3)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-log" ,rust-log-0.4)
         ("rust-nix" ,rust-nix-0.19)
         ("rust-rayon" ,rust-rayon-1)
         ("rust-regex" ,rust-regex-1)
         ("rust-shlex" ,rust-shlex-0.1)
         ("rust-time" ,rust-time-0.2)
         ("rust-timer" ,rust-timer-0.2)
         ("rust-tuikit" ,rust-tuikit-0.4)
         ("rust-unicode-width" ,rust-unicode-width-0.1)
         ("rust-vte" ,rust-vte-0.9))))
    (home-page "https://github.com/lotabout/skim")
    (synopsis "Fuzzy Finder in rust!")
    (description "Fuzzy Finder in rust!")
    (license license:expat)))

(define-public rust-serde-yaml-0.8
  (package
    (name "rust-serde-yaml")
    (version "0.8.23")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "serde_yaml" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1857pykxavramvf4p9bp40b3sqwrhnm8dqjfl9jw3183jkr239d4"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-indexmap" ,rust-indexmap-1)
         ("rust-ryu" ,rust-ryu-1)
         ("rust-serde" ,rust-serde-1)
         ("rust-yaml-rust" ,rust-yaml-rust-0.4))))
    (home-page "https://github.com/dtolnay/serde-yaml")
    (synopsis "YAML support for Serde")
    (description "YAML support for Serde")
    (license (list license:expat license:asl2.0))))

(define-public rust-number-prefix-0.4
  (package
    (name "rust-number-prefix")
    (version "0.4.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "number_prefix" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1wvh13wvlajqxkb1filsfzbrnq0vrmrw298v2j3sy82z1rm282w3"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/ogham/rust-number-prefix")
    (synopsis "Library for numeric prefixes (kilo, giga, kibi).")
    (description "Library for numeric prefixes (kilo, giga, kibi).")
    (license license:expat)))

(define-public rust-indicatif-0.16
  (package
    (name "rust-indicatif")
    (version "0.16.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "indicatif" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "06xyjs0kzqiqkjn60n1miwm2l87sa9p2lmzz0ymq18y72z37s81d"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-console" ,rust-console-0.15)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-number-prefix" ,rust-number-prefix-0.4)
         ("rust-rayon" ,rust-rayon-1)
         ("rust-regex" ,rust-regex-1)
         ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
         ("rust-unicode-width" ,rust-unicode-width-0.1))))
    (home-page "https://github.com/mitsuhiko/indicatif")
    (synopsis "A progress bar and cli reporting library for Rust")
    (description
      "This package provides a progress bar and cli reporting library for Rust")
    (license license:expat)))

(define-public rust-dialoguer-0.9
  (package
    (name "rust-dialoguer")
    (version "0.9.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "dialoguer" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1sxy4nd9kd9wslxnjdjyxgmsg5fil3dnzy63z8f07in09vd9lmv1"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-console" ,rust-console-0.15)
         ("rust-fuzzy-matcher" ,rust-fuzzy-matcher-0.3)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-tempfile" ,rust-tempfile-3)
         ("rust-zeroize" ,rust-zeroize-1))))
    (home-page "https://github.com/mitsuhiko/dialoguer")
    (synopsis "A command line prompting library.")
    (description "This package provides a command line prompting library.")
    (license license:expat)))

(define-public rust-confy-0.4
  (package
    (name "rust-confy")
    (version "0.4.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "confy" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "15v6g3k1jj5g966c2nlc5klim06yl287zw9i1y54ks790h14f4r9"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-directories" ,rust-directories-2)
         ("rust-serde" ,rust-serde-1)
         ("rust-toml" ,rust-toml-0.5))))
    (home-page "https://github.com/rust-clique/confy")
    (synopsis "Boilerplate-free configuration management")
    (description "Boilerplate-free configuration management")
    (license (list license:expat license:x11 license:asl2.0))))

(define-public rust-pyo3-macros-backend-0.13
  (package
    (name "rust-pyo3-macros-backend")
    (version "0.13.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "pyo3-macros-backend" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0rjxayd78l10hnyphk03bcvhm0jpsvnzn07lczhy7jsgv3jrgc47"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/pyo3/pyo3")
    (synopsis "Code generation for PyO3 package")
    (description "Code generation for PyO3 package")
    (license license:asl2.0)))

(define-public rust-pyo3-macros-0.13
  (package
    (name "rust-pyo3-macros")
    (version "0.13.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "pyo3-macros" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1fxi5lx5dl7xh469gr5xckyjy3r3c5dqypzxcj0fbhzf1hq2qzx4"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-pyo3-macros-backend" ,rust-pyo3-macros-backend-0.13)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/pyo3/pyo3")
    (synopsis "Proc macros for PyO3 package")
    (description "Proc macros for PyO3 package")
    (license license:asl2.0)))

(define-public rust-inventory-impl-0.1
  (package
    (name "rust-inventory-impl")
    (version "0.1.11")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "inventory-impl" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0j45a7nq4vircnz5m23db34527icxqnvh2si96zc9w662lvvahby"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/dtolnay/inventory")
    (synopsis "Implementation of macros for the `inventory` crate")
    (description "Implementation of macros for the `inventory` crate")
    (license (list license:expat license:asl2.0))))

(define-public rust-ghost-0.1
  (package
    (name "rust-ghost")
    (version "0.1.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ghost" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0yalg3g1g3cz63n3phy7cdhh7p2qd220mrpxy96alwxbpqdwynqs"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/dtolnay/ghost")
    (synopsis "Define your own PhantomData")
    (description "Define your own PhantomData")
    (license (list license:expat license:asl2.0))))

(define-public rust-inventory-0.1
  (package
    (name "rust-inventory")
    (version "0.1.11")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "inventory" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1m1zdjgs3nzfdxf86mc1i0id56fvk8rfw63rf04yi88bqrh53szh"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-ctor" ,rust-ctor-0.1)
         ("rust-ghost" ,rust-ghost-0.1)
         ("rust-inventory-impl" ,rust-inventory-impl-0.1))))
    (home-page "https://github.com/dtolnay/inventory")
    (synopsis "Typed distributed plugin registration")
    (description "Typed distributed plugin registration")
    (license (list license:expat license:asl2.0))))

(define-public rust-indoc-impl-0.3
  (package
    (name "rust-indoc-impl")
    (version "0.3.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "indoc-impl" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1w58yg249kmzsn75kcj34qaxqh839l1hsaj3bzggy3q03wb6s16f"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
         ("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1)
         ("rust-unindent" ,rust-unindent-0.1))))
    (home-page "https://github.com/dtolnay/indoc")
    (synopsis "Indented document literals")
    (description "Indented document literals")
    (license (list license:expat license:asl2.0))))

(define-public rust-indoc-0.3
  (package
    (name "rust-indoc")
    (version "0.3.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "indoc" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1n2fd2wm1h005hd7pjgx4gv5ymyq4sxqn8z0ssw6xchgqs5ilx27"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-indoc-impl" ,rust-indoc-impl-0.3)
         ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5))))
    (home-page "https://github.com/dtolnay/indoc")
    (synopsis "Indented document literals")
    (description "Indented document literals")
    (license (list license:expat license:asl2.0))))

(define-public rust-pyo3-0.13
  (package
    (name "rust-pyo3")
    (version "0.13.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "pyo3" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1hq965lgi25dn578fpn9hjva6zjr1c8rl7lxywijq44aw7lbhds8"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-cfg-if" ,rust-cfg-if-1)
         ("rust-ctor" ,rust-ctor-0.1)
         ("rust-hashbrown" ,rust-hashbrown-0.9)
         ("rust-indoc" ,rust-indoc-0.3)
         ("rust-inventory" ,rust-inventory-0.1)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-num-bigint" ,rust-num-bigint-0.3)
         ("rust-num-complex" ,rust-num-complex-0.3)
         ("rust-parking-lot" ,rust-parking-lot-0.11)
         ("rust-paste" ,rust-paste-0.1)
         ("rust-pyo3-macros" ,rust-pyo3-macros-0.13)
         ("rust-serde" ,rust-serde-1)
         ("rust-unindent" ,rust-unindent-0.1))))
    (home-page "https://github.com/pyo3/pyo3")
    (synopsis "Bindings to Python interpreter")
    (description "Bindings to Python interpreter")
    (license license:asl2.0)))

(define-public rust-indenter-0.3
  (package
    (name "rust-indenter")
    (version "0.3.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "indenter" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "10y6i6y4ls7xsfsc1r3p5j2hhbxhaqnk5zzk8aj52b14v05ba8yf"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/yaahc/indenter")
    (synopsis
      "A formatter wrapper that indents the text, designed for error display impls
")
    (description
      "This package provides a formatter wrapper that indents the text, designed for
error display impls")
    (license (list license:expat license:asl2.0))))

(define-public rust-eyre-0.6
  (package
    (name "rust-eyre")
    (version "0.6.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "eyre" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1f0fbmrcykp84av1yb1d4cqj28jwf0zg1z49a1cgw8vrcf7ms8mw"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-indenter" ,rust-indenter-0.3)
         ("rust-once-cell" ,rust-once-cell-1)
         ("rust-pyo3" ,rust-pyo3-0.13))))
    (home-page "https://github.com/yaahc/eyre")
    (synopsis
      "Flexible concrete Error Reporting type built on std::error::Error with customizable Reports")
    (description
      "Flexible concrete Error Reporting type built on std::error::Error with
customizable Reports")
    (license (list license:expat license:asl2.0))))

(define-public rust-tracing-error-0.1
  (package
    (name "rust-tracing-error")
    (version "0.1.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "tracing-error" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "092y3357af6058mdw7nmr7sysqdka8b4cyaqz940fl2a7nwc1mxl"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-tracing" ,rust-tracing-0.1)
         ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.2))))
    (home-page "https://tokio.rs")
    (synopsis "Utilities for enriching errors with `tracing`.
")
    (description "Utilities for enriching errors with `tracing`.")
    (license license:expat)))

(define-public rust-owo-colors-1
  (package
    (name "rust-owo-colors")
    (version "1.4.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "owo-colors" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0rybl2lvhaycpkpaq45099idp5ny7nv4sqsafz0cvfqw1wjfy9vz"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t #:cargo-inputs (("rust-atty" ,rust-atty-0.2))))
    (home-page "https://github.com/jam1garner/owo-colors")
    (synopsis "Zero-allocation terminal colors that'll make people go owo")
    (description "Zero-allocation terminal colors that'll make people go owo")
    (license license:expat)))

(define-public rust-color-spantrace-0.1
  (package
    (name "rust-color-spantrace")
    (version "0.1.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "color-spantrace" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1lb2li71zvpxp80nck98gcqbqm3dnmp43pnlvm52z9x8livy9vmn"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-once-cell" ,rust-once-cell-1)
         ("rust-owo-colors" ,rust-owo-colors-1)
         ("rust-tracing-core" ,rust-tracing-core-0.1)
         ("rust-tracing-error" ,rust-tracing-error-0.1))))
    (home-page "https://github.com/yaahc/color-spantrace")
    (synopsis
      "A pretty printer for tracing_error::SpanTrace based on color-backtrace")
    (description
      "This package provides a pretty printer for tracing_error::SpanTrace based on
color-backtrace")
    (license (list license:expat license:asl2.0))))

(define-public rust-color-eyre-0.5
  (package
    (name "rust-color-eyre")
    (version "0.5.11")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "color-eyre" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1dspj58bk57f9hiqlvbz25rik92i4a95iwa2dl4pg8g8grlqa60z"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-backtrace" ,rust-backtrace-0.3)
         ("rust-color-spantrace" ,rust-color-spantrace-0.1)
         ("rust-eyre" ,rust-eyre-0.6)
         ("rust-indenter" ,rust-indenter-0.3)
         ("rust-once-cell" ,rust-once-cell-1)
         ("rust-owo-colors" ,rust-owo-colors-1)
         ("rust-tracing-error" ,rust-tracing-error-0.1)
         ("rust-url" ,rust-url-2))))
    (home-page "https://github.com/yaahc/color-eyre")
    (synopsis
      "An error report handler for panics and eyre::Reports for colorful, consistent, and well formatted error reports for all kinds of errors.")
    (description
      "An error report handler for panics and eyre::Reports for colorful, consistent,
and well formatted error reports for all kinds of errors.")
    (license (list license:expat license:asl2.0))))

(define-public rust-scanlex-0.1
  (package
    (name "rust-scanlex")
    (version "0.1.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "scanlex" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1nrkq1kjwf3v084pndiq18yx6vqsivlqr6jllyg94911axqmv308"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/stevedonovan/scanlex.git")
    (synopsis "a simple lexical scanner for parsing text into tokens")
    (description "a simple lexical scanner for parsing text into tokens")
    (license license:expat)))

(define-public rust-chrono-english-0.1
  (package
    (name "rust-chrono-english")
    (version "0.1.7")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "chrono-english" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0vqdl2bfyv224xv2xnqa9rsnbn89pjhzbhvrqs47sjpblyfr0ggp"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-chrono" ,rust-chrono-0.4) ("rust-scanlex" ,rust-scanlex-0.1))))
    (home-page "https://github.com/stevedonovan/chrono-english.git")
    (synopsis "parses simple English dates, inspired by Linux date command")
    (description "parses simple English dates, inspired by Linux date command")
    (license license:expat)))

(define-public rust-ureq-2
  (package
    (name "rust-ureq")
    (version "2.4.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ureq" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1m8nzx683iph4zfpfg2xmkkbwmgf1i403lnbhxqk4gbsj8pzm6ck"))))
    (build-system cargo-build-system)
    (arguments
      `(#:tests? #f ; FIXME
        #:cargo-inputs
        (("rust-base64" ,rust-base64-0.13)
         ("rust-brotli-decompressor" ,rust-brotli-decompressor-2)
         ("rust-chunked-transfer" ,rust-chunked-transfer-1)
         ("rust-cookie" ,rust-cookie-0.15)
         ("rust-cookie-store" ,rust-cookie-store-0.15)
         ("rust-encoding-rs" ,rust-encoding-rs-0.8)
         ("rust-flate2" ,rust-flate2-1)
         ("rust-log" ,rust-log-0.4)
         ("rust-native-tls" ,rust-native-tls-0.2)
         ("rust-once-cell" ,rust-once-cell-1)
         ("rust-rustls" ,rust-rustls-0.20)
         ("rust-rustls-native-certs" ,rust-rustls-native-certs-0.6)
         ("rust-serde" ,rust-serde-1)
         ("rust-serde-json" ,rust-serde-json-1)
         ("rust-socks" ,rust-socks-0.3)
         ("rust-url" ,rust-url-2)
         ("rust-webpki" ,rust-webpki-0.22)
         ("rust-webpki-roots" ,rust-webpki-roots-0.22))
        #:cargo-development-inputs
        (("rust-env-logger" ,rust-env-logger-0.9)
         ("rust-rustls" ,rust-rustls-0.20)
         ("rust-rustls-pemfile" ,rust-rustls-pemfile-0.2)
         ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/algesten/ureq")
    (synopsis "Simple, safe HTTP client")
    (description "Simple, safe HTTP client")
    (license (list license:expat license:asl2.0))))

(define-public rust-escargot-0.4
  (package
    (name "rust-escargot")
    (version "0.4.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "escargot" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "15s5x2z3i5ygwy7wkj955cjqh6dp4afp7ig4nlld1mblk2zsvfff"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-log" ,rust-log-0.4)
         ("rust-serde" ,rust-serde-1)
         ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/crate-ci/escargot")
    (synopsis "Cargo API written in Paris")
    (description "Cargo API written in Paris")
    (license (list license:expat license:asl2.0))))

(define-public rust-assert-cmd-0.11
  (package
    (name "rust-assert-cmd")
    (version "0.11.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "assert_cmd" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "07jsda2nbb3yh7plj3dbybyk51ckckgv7xmnk6bw6bnq7dwpgi1d"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-escargot" ,rust-escargot-0.4)
         ("rust-predicates" ,rust-predicates-1)
         ("rust-predicates-core" ,rust-predicates-core-1)
         ("rust-predicates-tree" ,rust-predicates-tree-1))))
    (home-page "https://github.com/assert-rs/assert_cmd")
    (synopsis "Test CLI Applications.")
    (description "Test CLI Applications.")
    (license (list license:expat license:asl2.0))))

(define-public rust-snafu-derive-0.5
  (package
    (name "rust-snafu-derive")
    (version "0.5.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "snafu-derive" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1816bgy739n83mk7xyzmhkidpmvsg8g72rxlhdwgcwg472yr8kk2"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-0.4)
         ("rust-quote" ,rust-quote-0.6)
         ("rust-syn" ,rust-syn-0.15))))
    (home-page "https://github.com/shepmaster/snafu")
    (synopsis "An ergonomic error handling library")
    (description "An ergonomic error handling library")
    (license (list license:expat license:asl2.0))))

(define-public rust-pin-project-0.3
  (package
    (name "rust-pin-project")
    (version "0.3.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "pin-project" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1nfw93iqa3fls9xn9izbyzdycbqmx2xsikp9bpbvhlsrs79mc4d1"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/taiki-e/pin-project")
    (synopsis "A crate for safe and ergonomic pin-projection.
")
    (description
      "This package provides a crate for safe and ergonomic pin-projection.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-futures-0.1
  (package
    (name "rust-futures")
    (version "0.1.31")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "futures" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0y46qbmhi37dqkch8dlfq5aninqpzqgrr98awkb3rn4fxww1lirs"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://rust-lang.github.io/futures-rs")
    (synopsis
      "An implementation of futures and streams featuring zero allocations,
composability, and iterator-like interfaces.
")
    (description
      "An implementation of futures and streams featuring zero allocations,
composability, and iterator-like interfaces.")
    (license (list license:expat license:asl2.0))))

(define-public rust-futures01-0.1
  (package
    (name "rust-futures01")
    (version "0.1.31")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "futures01" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1s9alz7cdcnkvj4w9mcznqg4wh09viqr56ss05qh76xmvfqp8gs2"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t #:cargo-inputs (("rust-futures" ,rust-futures-0.1))))
    (home-page "https://github.com/rust-lang-nursery/futures-rs")
    (synopsis
      "An implementation of futures and streams featuring zero allocations,
composability, and iterator-like interfaces.

Note that this crate tracks permanently to the 0.1 branch of
the `futures` crate.
")
    (description
      "An implementation of futures and streams featuring zero allocations,
composability, and iterator-like interfaces.

Note that this crate tracks permanently to the 0.1 branch of the `futures`
crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-snafu-0.5
  (package
    (name "rust-snafu")
    (version "0.5.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "snafu" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "14l2f5mwmsnf530x98xa3rm5xgzbbcgpywvxniil796n10yzj2wx"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-backtrace" ,rust-backtrace-0.3)
         ("rust-doc-comment" ,rust-doc-comment-0.3)
         ("rust-futures-core-preview" ,rust-futures-core-preview-0.3)
         ("rust-futures-preview" ,rust-futures-preview-0.3)
         ("rust-futures01" ,rust-futures01-0.1)
         ("rust-pin-project" ,rust-pin-project-0.3)
         ("rust-snafu-derive" ,rust-snafu-derive-0.5))))
    (home-page "https://github.com/shepmaster/snafu")
    (synopsis "An ergonomic error handling library")
    (description "An ergonomic error handling library")
    (license (list license:expat license:asl2.0))))

(define-public rust-scrawl-1
  (package
    (name "rust-scrawl")
    (version "1.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "scrawl" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1lid625ykxhdms4x6sh8fv4sxk8vij5w9jcb0nlcihzrbh7xmgwg"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/xvrqt/scrawl")
    (synopsis
      "Opens a user's preferred text editor so they can edit data inline and saves the result to a String. Useful for interactive CLI applications.")
    (description
      "Opens a user's preferred text editor so they can edit data inline and saves the
result to a String.  Useful for interactive CLI applications.")
    (license license:bsd-3)))

(define-public rust-syn-0.12
  (package
    (name "rust-syn")
    (version "0.12.15")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "syn" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1rfcdls9f7s57668bcw2icpsjbw5x73db53rjrmxskf3xfw0az69"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-0.2)
         ("rust-quote" ,rust-quote-0.4)
         ("rust-unicode-xid" ,rust-unicode-xid-0.1))))
    (home-page "https://github.com/dtolnay/syn")
    (synopsis "Parser for Rust source code")
    (description "Parser for Rust source code")
    (license (list license:expat license:asl2.0))))

(define-public rust-proc-macro2-0.2
  (package
    (name "rust-proc-macro2")
    (version "0.2.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "proc-macro2" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1q1a53r21dj7zqa8wl5f2wdnpmnz9jqgkiwrg61gznfiqsrxw1yd"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-unicode-xid" ,rust-unicode-xid-0.1))))
    (home-page "https://github.com/dtolnay/proc-macro2")
    (synopsis
      "A substitute implementation of the compiler's `proc_macro` API to decouple
token-based libraries from the procedural macro use case.
")
    (description
      "This package provides a substitute implementation of the compiler's `proc_macro`
API to decouple token-based libraries from the procedural macro use case.")
    (license (list license:expat license:asl2.0))))

(define-public rust-quote-0.4
  (package
    (name "rust-quote")
    (version "0.4.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "quote" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "02648jf53xpa7qxai36bhn1wyz986aibbgxnnhp704md4z3i9jhy"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-0.2))))
    (home-page "https://github.com/dtolnay/quote")
    (synopsis "Quasi-quoting macro quote!(...)")
    (description "Quasi-quoting macro quote!(...)")
    (license (list license:expat license:asl2.0))))

(define-public rust-enum-kinds-0.4
  (package
    (name "rust-enum-kinds")
    (version "0.4.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "enum-kinds" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1df4ra7knqpnd2g50bixs389lg6hbb50858v0wcqr17a9lvirwnh"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-quote" ,rust-quote-0.4) ("rust-syn" ,rust-syn-0.12))))
    (home-page "https://github.com/Soft/enum-kinds")
    (synopsis
      "Generate enums with matching variants but without any of the associated data.")
    (description
      "Generate enums with matching variants but without any of the associated data.")
    (license license:expat)))

(define-public rust-rstest-0.11
  (package
    (name "rust-rstest")
    (version "0.11.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rstest" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "02nh4kpfg1j4v95fhc0bxx9ak3wnz5jg70f94z92wfzyx9mcd212"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-cfg-if" ,rust-cfg-if-1)
         ("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-rustc-version" ,rust-rustc-version-0.4)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/la10736/rstest")
    (synopsis
      "Rust fixture based test framework. It use procedural macro
to implement fixtures and table based tests.
")
    (description
      "Rust fixture based test framework.  It use procedural macro to implement
fixtures and table based tests.")
    (license (list license:expat license:asl2.0))))

(define-public rust-unic-ucd-category-0.9
  (package
    (name "rust-unic-ucd-category")
    (version "0.9.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "unic-ucd-category" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1h4ixzplc2s441vc8mc4zxliw6qfqh1ziaiv8pa1pzpwyn8lb38v"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-matches" ,rust-matches-0.1)
         ("rust-unic-char-property" ,rust-unic-char-property-0.9)
         ("rust-unic-char-range" ,rust-unic-char-range-0.9)
         ("rust-unic-ucd-version" ,rust-unic-ucd-version-0.9))))
    (home-page "https://github.com/open-i18n/rust-unic/")
    (synopsis
      "UNIC â\x80\x94 Unicode Character Database â\x80\x94 General Category")
    (description
      "UNIC â\x80\x94 Unicode Character Database â\x80\x94 General Category")
    (license (list license:expat license:asl2.0))))

(define-public rust-unic-ucd-hangul-0.9
  (package
    (name "rust-unic-ucd-hangul")
    (version "0.9.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "unic-ucd-hangul" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0m001jjck7j34hsf6kw9aidzapms9hi175yv7r9f244hw68cc7gb"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs (("rust-unic-ucd-version" ,rust-unic-ucd-version-0.9))))
    (home-page "https://github.com/open-i18n/rust-unic/")
    (synopsis
      "UNIC â\x80\x94 Unicode Character Database â\x80\x94 Hangul Syllable Composition & Decomposition")
    (description
      "UNIC â\x80\x94 Unicode Character Database â\x80\x94 Hangul Syllable Composition &
Decomposition")
    (license (list license:expat license:asl2.0))))

(define-public rust-unic-ucd-normal-0.9
  (package
    (name "rust-unic-ucd-normal")
    (version "0.9.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "unic-ucd-normal" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "044laqqf09xqv4gl27f328a2f780gkzabpar72qj4b90p1rxibl6"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-unic-char-property" ,rust-unic-char-property-0.9)
         ("rust-unic-char-range" ,rust-unic-char-range-0.9)
         ("rust-unic-ucd-category" ,rust-unic-ucd-category-0.9)
         ("rust-unic-ucd-hangul" ,rust-unic-ucd-hangul-0.9)
         ("rust-unic-ucd-version" ,rust-unic-ucd-version-0.9))
        #:cargo-development-inputs
        (("rust-unic-ucd-category" ,rust-unic-ucd-category-0.9))))
    (home-page "https://github.com/open-i18n/rust-unic/")
    (synopsis
      "UNIC â\x80\x94 Unicode Character Database â\x80\x94 Normalization Properties")
    (description
      "UNIC â\x80\x94 Unicode Character Database â\x80\x94 Normalization Properties")
    (license (list license:expat license:asl2.0))))

(define-public rust-unic-normal-0.9
  (package
    (name "rust-unic-normal")
    (version "0.9.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "unic-normal" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0qmsdf7b902mmaslhwww0hzmzqn26mzh7sraphl4dac96p9n97gh"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-unic-ucd-normal" ,rust-unic-ucd-normal-0.9))
        #:cargo-development-inputs
        (("rust-unic-ucd-version" ,rust-unic-ucd-version-0.9))))
    (home-page "https://github.com/open-i18n/rust-unic/")
    (synopsis "UNIC â\x80\x94 Unicode Normalization Forms")
    (description "UNIC â\x80\x94 Unicode Normalization Forms")
    (license (list license:expat license:asl2.0))))

(define-public rust-itertools-0.10
  (package
    (name "rust-itertools")
    (version "0.10.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "itertools" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1qy55fqbaisr9qgbn7cvdvqlfqbh1f4ddf99zwan56z7l6gx3ad9"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t #:cargo-inputs (("rust-either" ,rust-either-1))))
    (home-page "https://github.com/rust-itertools/itertools")
    (synopsis
      "Extra iterator adaptors, iterator methods, free functions, and macros.")
    (description
      "Extra iterator adaptors, iterator methods, free functions, and macros.")
    (license (list license:expat license:asl2.0))))

(define-public rust-structopt-derive-0.4.16
  (package
    (name "rust-structopt-derive")
    (version "0.4.16")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "structopt-derive" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1fnhfbvqasx2n9ak57vi3d2r6d55xmjz2vfg4lqsqhwr5j586k8k"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-heck" ,rust-heck-0.3)
         ("rust-proc-macro-error" ,rust-proc-macro-error-1)
         ("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/TeXitoi/structopt")
    (synopsis
      "Parse command line argument by defining a struct, derive crate.")
    (description
      "Parse command line argument by defining a struct, derive crate.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-structopt-0.3.23
  (package
    (name "rust-structopt")
    (version "0.3.23")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "structopt" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1yhb7kr7r0a7jvsz7wi6r1d7kllsivbg2g07vc5mxqk7y479b7dz"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-clap" ,rust-clap-2)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-paw" ,rust-paw-1)
         ("rust-structopt-derive" ,rust-structopt-derive-0.4.16))))
    (home-page "https://github.com/TeXitoi/structopt")
    (synopsis "Parse command line argument by defining a struct.")
    (description "Parse command line argument by defining a struct.")
    (license (list license:asl2.0 license:expat))))

;;;--> upstream: move into (gnu packages crates-io),
;;add imported modules linux;
(define-public rust-enquote-1
  (package
    (name "rust-enquote")
    (version "1.0.3")
    (home-page "https://github.com/reujab/enquote")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "enquote" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0vm687r2wwgc3d3l2iqhag9wgkql6k93sdvjxvmfkdpksajpij1f"))))
    (build-system cargo-build-system)
    (synopsis
     "A Rust library quotes, unquotes, and unescapes strings")
    (description
     "A Rust library quotes, unquotes, and unescapes strings")
    (license license:unlicense)))

(define-public rust-pam-sys-0.5
  (package
    (name "rust-pam-sys")
    (version "0.5.6")
    (home-page "https://github.com/1wilkens/pam-sys")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pam-sys" version))
       (file-name
         (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0d14501d5vybjnzxfjf96321xa5wa36x1xvf02h02zq938qmhj6d"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2))))
    (native-inputs
     `(("linux-pam" ,linux-pam)))
    (synopsis
     "Rust FFI wrappers for the Linux Pluggable Authentication Modules (PAM)")
    (description
     "Rust FFI wrappers for the Linux Pluggable Authentication Modules (PAM)")
    (license (list license:expat license:asl2.0))))

(define-public rust-pretty-assertions-1
  (package
    (name "rust-pretty-assertions")
    (version "1.2.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "pretty_assertions" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "12r2zd27kr3wg2i1i0a3mp0gwnr73lk7q8lwpw2cgf8rag5kih2p"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-ansi-term" ,rust-ansi-term-0.12)
         ("rust-ctor" ,rust-ctor-0.1)
         ("rust-diff" ,rust-diff-0.1)
         ("rust-output-vt100" ,rust-output-vt100-0.1))))
    (home-page "https://github.com/colin-kiegel/rust-pretty-assertions")
    (synopsis
      "Overwrite `assert_eq!` and `assert_ne!` with drop-in replacements, adding colorful diffs.")
    (description
      "Overwrite `assert_eq!` and `assert_ne!` with drop-in replacements, adding
colorful diffs.")
    (license (list license:expat license:asl2.0))))

(define-public rust-pretty-assertions-0.5
  (package
    (inherit rust-pretty-assertions-1)
    (name "rust-pretty-assertions")
    (version "0.5.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "pretty-assertions" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1ins6swkpxmrh8q5h96h8nv0497d3dclsiyx2lyvqi6py0q980is"))))
    (arguments
     (list #:tests? #f
           #:cargo-inputs
           `(("rust-ansi-term" ,rust-ansi-term-0.11)
             ("rust-difference" ,rust-difference-2))))))

(define-public rust-if-chain-0.1
  (package
    (name "rust-if-chain")
    (version "0.1.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "if_chain" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1v2phdgq9i313svbrcaldygivd0jn25gpml7h6vyf906mbcrbb2b"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/lambda-fairy/if_chain")
    (synopsis "Macro for writing nested `if let` expressions.")
    (description "Macro for writing nested `if let` expressions.")
    (license (list license:expat license:asl2.0))))

(define-public rust-cargo-metadata-0.5
  (package
    (inherit rust-cargo-metadata-0.14)
    (name "rust-cargo-metadata")
    (version "0.5.8")
    (source (origin
             (method url-fetch)
             (uri (crate-uri "cargo_metadata" version))
             (file-name (string-append name "-" version ".tar.gz"))
             (sha256
              (base32
               "1l3ba9mb0ihh4n33s41y3lifpfy41dgcbccz216fs0yacfwa1z0y"))))
    (arguments
     (list #:skip-build? #t
           #:cargo-inputs
           `(("rust-error-chain" ,rust-error-chain-0.11)
             ("rust-semver" ,rust-semver-0.9)
             ("rust-serde" ,rust-serde-1)
             ("rust-serde-derive" ,rust-serde-derive-1)
             ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-clippy-lints-0.0.209
  (package
    (name "rust-clippy-lints")
    (version "0.0.209")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "clippy_lints" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1s164sqaxvp25byf1dcg0h30b9h5gjmvckdax5f454089nn7j5l9"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-cargo-metadata" ,rust-cargo-metadata-0.5)
         ("rust-if-chain" ,rust-if-chain-0.1)
         ("rust-itertools" ,rust-itertools-0.7)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-matches" ,rust-matches-0.1)
         ("rust-pulldown-cmark" ,rust-pulldown-cmark-0.1)
         ("rust-quine-mc-cluskey" ,rust-quine-mc-cluskey-0.2)
         ("rust-regex-syntax" ,rust-regex-syntax-0.6)
         ("rust-semver" ,rust-semver-0.9)
         ("rust-serde" ,rust-serde-1)
         ("rust-serde-derive" ,rust-serde-derive-1)
         ("rust-toml" ,rust-toml-0.4)
         ("rust-unicode-normalization" ,rust-unicode-normalization-0.1)
         ("rust-url" ,rust-url-1))))
    (home-page "https://github.com/rust-lang-nursery/rust-clippy")
    (synopsis "A bunch of helpful lints to avoid common pitfalls in Rust")
    (description
      "This package provides a bunch of helpful lints to avoid common pitfalls in Rust")
    (license license:mpl2.0)))

(define-public rust-clippy-0.0.209
  (package
    (name "rust-clippy")
    (version "0.0.209")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "clippy" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0zac8lc38hgpq46iifaxap6678pyzdhjrgcnz4xcsrwddylwnmpy"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-ansi-term" ,rust-ansi-term-0.11)
         ("rust-clippy-lints" ,rust-clippy-lints-0.0.209)
         ("rust-regex" ,rust-regex-1)
         ("rust-rustc-version" ,rust-rustc-version-0.2)
         ("rust-semver" ,rust-semver-0.9))))
    (home-page "https://github.com/rust-lang-nursery/rust-clippy")
    (synopsis "A bunch of helpful lints to avoid common pitfalls in Rust.")
    (description
      "This package provides a bunch of helpful lints to avoid common pitfalls in Rust.")
    (license license:mpl2.0)))

(define-public rust-wu-diff-0.1
  (package
    (name "rust-wu-diff")
    (version "0.1.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "wu-diff" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "14w8yacn4hk9k4rfzshlgir966xbwgbwk3fvf0l461nyzhsnfglf"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-clippy" ,rust-clippy-0.0.209))))
    (home-page "https://github.com/bokuweb/wu-diff-rs")
    (synopsis
      "Compute differences between two slices using wu(the O(NP)) algorithm.")
    (description
      "Compute differences between two slices using wu(the O(NP)) algorithm.")
    (license license:expat)))

(define-public rust-archery-0.4
  (package
    (name "rust-archery")
    (version "0.4.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "archery" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "00ncyipasb9i934vd8lm2a243qm6xv52nxk9fq3fwls09jyak38a"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-static-assertions" ,rust-static-assertions-1))))
    (home-page "https://github.com/orium/archery")
    (synopsis "Abstract over the atomicity of reference-counting pointers")
    (description "Abstract over the atomicity of reference-counting pointers")
    (license license:mpl2.0)))

(define-public rust-rpds-0.10
  (package
    (name "rust-rpds")
    (version "0.10.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rpds" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0piilrndhqapaq9a8sl2vln1qzgcx8999j68jbhrm882xmyl2kh5"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-archery" ,rust-archery-0.4) ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/orium/rpds")
    (synopsis "Persistent data structures with structural sharing")
    (description "Persistent data structures with structural sharing")
    (license license:mpl2.0)))

(define-public rust-schemars-derive-0.6
  (package
    (name "rust-schemars-derive")
    (version "0.6.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "schemars_derive" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1a9h8bqqqd0i6605gyhz2jw2hi1wq1vfi262qrflkn3pyk75wlrq"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-serde-derive-internals" ,rust-serde-derive-internals-0.25)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://graham.cool/schemars/")
    (synopsis "Macros for #[derive(JsonSchema)], for use with schemars")
    (description "Macros for #[derive(JsonSchema)], for use with schemars")
    (license license:expat)))

(define-public rust-schemars-0.6
  (package
    (name "rust-schemars")
    (version "0.6.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "schemars" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1v6acgxkbhaw7fzg4mp09jv231f0mr224my629435wxasrrrfmh7"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-arrayvec" ,rust-arrayvec-0.5)
         ("rust-chrono" ,rust-chrono-0.4)
         ("rust-either" ,rust-either-1)
         ("rust-indexmap" ,rust-indexmap-1)
         ("rust-schemars-derive" ,rust-schemars-derive-0.6)
         ("rust-serde" ,rust-serde-1)
         ("rust-serde-json" ,rust-serde-json-1)
         ("rust-smallvec" ,rust-smallvec-1)
         ("rust-uuid" ,rust-uuid-0.8))))
    (home-page "https://graham.cool/schemars/")
    (synopsis "Generate JSON Schemas from Rust code")
    (description "Generate JSON Schemas from Rust code")
    (license license:expat)))

(define-public rust-tinyvec-1
  (package
    (name "rust-tinyvec")
    (version "1.5.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "tinyvec" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1lnqnva56673r0d40586rkzyl2qqcz19wm29q8h5a95n89d1s71c"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-arbitrary" ,rust-arbitrary-1)
         ("rust-serde" ,rust-serde-1)
         ("rust-tinyvec-macros" ,rust-tinyvec-macros-0.1))))
    (home-page "https://github.com/Lokathor/tinyvec")
    (synopsis "`tinyvec` provides 100% safe vec-like data structures.")
    (description "`tinyvec` provides 100% safe vec-like data structures.")
    (license (list license:zlib license:asl2.0 license:expat))))

(define-public rust-smallvec-1
  (package
    (name "rust-smallvec")
    (version "1.8.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "smallvec" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "10zf4fn63p2d6sx8qap3jvyarcfw563308x3431hd4c34r35gpgj"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-arbitrary" ,rust-arbitrary-1) ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/servo/rust-smallvec")
    (synopsis
      "'Small vector' optimization: store up to a small number of items on the stack")
    (description
      "'Small vector' optimization: store up to a small number of items on the stack")
    (license (list license:expat license:asl2.0))))

(define-public rust-rkyv-derive-0.7
  (package
    (name "rust-rkyv-derive")
    (version "0.7.36")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rkyv_derive" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "100ll0pkbbd37a8i0671n83z25rx369lqfiga8jb7g2xjbam5iqg"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/rkyv/rkyv")
    (synopsis "Derive macro for rkyv")
    (description "Derive macro for rkyv")
    (license license:expat)))

(define-public rust-rend-0.3
  (package
    (name "rust-rend")
    (version "0.3.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rend" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "15fz3rw8c74586kxl6dcdn4s864ph884wfpg9shgnbrnnss69bvr"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-bytecheck" ,rust-bytecheck-0.6))))
    (home-page "https://github.com/djkoloski/rend")
    (synopsis "Endian-aware primitives for Rust")
    (description "Endian-aware primitives for Rust")
    (license license:expat)))

(define-public rust-hashbrown-0.12
  (package
    (name "rust-hashbrown")
    (version "0.12.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "hashbrown" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0n0pvw03ljspflqwkybjavdi2mfphyzvvhg3qskacbxrhw2x88cc"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-ahash" ,rust-ahash-0.7)
         ("rust-bumpalo" ,rust-bumpalo-3)
         ("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
         ("rust-rayon" ,rust-rayon-1)
         ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
         ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
         ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/rust-lang/hashbrown")
    (synopsis "A Rust port of Google's SwissTable hash map")
    (description
      "This package provides a Rust port of Google's SwissTable hash map")
    (license (list license:asl2.0 license:expat))))

(define-public rust-bytecheck-derive-0.6
  (package
    (name "rust-bytecheck-derive")
    (version "0.6.7")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bytecheck_derive" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0006ycn72g788hzfy5zd7gl3hxhqi5dj0q7plrjydnimq693nasa"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/djkoloski/bytecheck")
    (synopsis "Derive macro for bytecheck")
    (description "Derive macro for bytecheck")
    (license license:expat)))

(define-public rust-bytecheck-0.6
  (package
    (name "rust-bytecheck")
    (version "0.6.7")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bytecheck" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1gjasf0viyrn1p01fb77n3n8ga8mjif6wvixgk5n98nd67m8jj1i"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-bytecheck-derive" ,rust-bytecheck-derive-0.6)
         ("rust-ptr-meta" ,rust-ptr-meta-0.1)
         ("rust-simdutf8" ,rust-simdutf8-0.1)
         ("rust-uuid" ,rust-uuid-0.8))))
    (home-page "https://github.com/djkoloski/bytecheck")
    (synopsis "Derive macro for bytecheck")
    (description "Derive macro for bytecheck")
    (license license:expat)))

(define-public rust-rkyv-0.7
  (package
    (name "rust-rkyv")
    (version "0.7.36")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rkyv" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0dkw3ybgmji69f1fph5dywjas8zdq0j0nkn81l5mk1d8h4lswc2j"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-bytecheck" ,rust-bytecheck-0.6)
         ("rust-hashbrown" ,rust-hashbrown-0.12)
         ("rust-indexmap" ,rust-indexmap-1)
         ("rust-ptr-meta" ,rust-ptr-meta-0.1)
         ("rust-rend" ,rust-rend-0.3)
         ("rust-rkyv-derive" ,rust-rkyv-derive-0.7)
         ("rust-seahash" ,rust-seahash-4)
         ("rust-smallvec" ,rust-smallvec-1)
         ("rust-tinyvec" ,rust-tinyvec-1)
         ("rust-uuid" ,rust-uuid-0.8))))
    (home-page "https://github.com/rkyv/rkyv")
    (synopsis "Zero-copy deserialization framework for Rust")
    (description "Zero-copy deserialization framework for Rust")
    (license license:expat)))

(define-public rust-ordered-float-2
  (package
    (name "rust-ordered-float")
    (version "2.10.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ordered-float" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "11qdskfgk911bs541avzkrfahq6arnb2bkvzs0c36na2m4ncyh3r"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-arbitrary" ,rust-arbitrary-1)
         ("rust-num-traits" ,rust-num-traits-0.2)
         ("rust-proptest" ,rust-proptest-1)
         ("rust-rand" ,rust-rand-0.8)
         ("rust-rkyv" ,rust-rkyv-0.7)
         ("rust-schemars" ,rust-schemars-0.6)
         ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/reem/rust-ordered-float")
    (synopsis "Wrappers for total ordering on floats")
    (description "Wrappers for total ordering on floats")
    (license license:expat)))

(define-public rust-radix-heap-0.4
  (package
    (name "rust-radix-heap")
    (version "0.4.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "radix-heap" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "00g6vq9dn5v5h8sj2298h6zk3pm3wq8qhacrnjak40b4yjfyrzsr"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-ordered-float" ,rust-ordered-float-2))))
    (home-page "https://github.com/mpdn/radix-heap")
    (synopsis "Fast monotone priority queues")
    (description "Fast monotone priority queues")
    (license license:expat)))

(define-public rust-is-ci-1
  (package
    (name "rust-is-ci")
    (version "1.1.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "is_ci" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1ywra2z56x6d4pc02zq24a4x7gvpixynh9524icbpchbf9ydwv31"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/zkat/is_ci")
    (synopsis
      "Super lightweight CI environment checker. Just tells you if you're in CI or not without much fuss.")
    (description
      "Super lightweight CI environment checker.  Just tells you if you're in CI or not
without much fuss.")
    (license license:isc)))

(define-public rust-supports-color-1
  (package
    (name "rust-supports-color")
    (version "1.3.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "supports-color" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1yfi8yswjipk3ljzm79rbf3phw2fwlznhji1iap7pm4idg9wwwj8"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-atty" ,rust-atty-0.2) ("rust-is-ci" ,rust-is-ci-1))))
    (home-page "https://github.com/zkat/supports-color")
    (synopsis
      "Detects whether a terminal supports color, and gives details about that support.")
    (description
      "Detects whether a terminal supports color, and gives details about that support.")
    (license license:asl2.0)))

(define-public rust-owo-colors-3
  (package
    (name "rust-owo-colors")
    (version "3.3.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "owo-colors" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1sq3i8g5haj6xy56ln1ggm8waazzkkfj6272i8y9kl70g02y6wjy"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-supports-color" ,rust-supports-color-1))))
    (home-page "https://github.com/jam1garner/owo-colors")
    (synopsis "Zero-allocation terminal colors that'll make people go owo")
    (description "Zero-allocation terminal colors that'll make people go owo")
    (license license:expat)))

(define-public rust-libmimalloc-sys-0.1
  (package
    (name "rust-libmimalloc-sys")
    (version "0.1.24")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "libmimalloc-sys" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0s8ab4nc33qgk9jybpv0zxcb75jgwwjb7fsab1rkyjgdyr0gq1bp"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-cc" ,rust-cc-1) ("rust-cty" ,rust-cty-0.2))))
    (home-page
      "https://github.com/purpleprotocol/mimalloc_rust/tree/master/libmimalloc-sys")
    (synopsis "Sys crate wrapping the mimalloc allocator")
    (description "Sys crate wrapping the mimalloc allocator")
    (license license:expat)))

(define-public rust-mimalloc-0.1
  (package
    (name "rust-mimalloc")
    (version "0.1.28")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "mimalloc" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "09ir1qlg5rwb74l8zh5nyxgwmnpwf7r5zxj26bdnnbqc74qs3pxh"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-libmimalloc-sys" ,rust-libmimalloc-sys-0.1))))
    (home-page "https://github.com/purpleprotocol/mimalloc_rust")
    (synopsis "Performance and security oriented drop-in allocator")
    (description "Performance and security oriented drop-in allocator")
    (license license:expat)))

(define-public rust-itertools-0.10
  (package
    (name "rust-itertools")
    (version "0.10.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "itertools" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1qy55fqbaisr9qgbn7cvdvqlfqbh1f4ddf99zwan56z7l6gx3ad9"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t #:cargo-inputs (("rust-either" ,rust-either-1))))
    (home-page "https://github.com/rust-itertools/itertools")
    (synopsis
      "Extra iterator adaptors, iterator methods, free functions, and macros.")
    (description
      "Extra iterator adaptors, iterator methods, free functions, and macros.")
    (license (list license:expat license:asl2.0))))

(define-public rust-const-format-proc-macros-0.2
  (package
    (name "rust-const-format-proc-macros")
    (version "0.2.22")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "const_format_proc_macros" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0bdqnac7qfnn2gayxazvb148nczdxn37djyyly6s8y18jxfns6gg"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1)
         ("rust-unicode-xid" ,rust-unicode-xid-0.2))))
    (home-page "https://github.com/rodrimati1992/const_format_crates/")
    (synopsis "Implementation detail of the `const_format` crate")
    (description "Implementation detail of the `const_format` crate")
    (license license:zlib)))

(define-public rust-const-format-0.2
  (package
    (name "rust-const-format")
    (version "0.2.22")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "const_format" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "055n171jydahwcnn1dqwk5rkpika5cc81qy3h2v0gi0fkga6rg12"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-const-format-proc-macros"
          ,rust-const-format-proc-macros-0.2))))
    (home-page "https://github.com/rodrimati1992/const_format_crates/")
    (synopsis "Compile-time string formatting")
    (description "Compile-time string formatting")
    (license license:zlib)))

(define-public rust-unicode-linebreak-0.1
  (package
    (name "rust-unicode-linebreak")
    (version "0.1.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "unicode-linebreak" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0grq6bsn967q4vpifld53s7a140nlmpq5vy8ghgr73f4n2mdqlis"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t #:cargo-inputs (("rust-regex" ,rust-regex-1))))
    (home-page "https://github.com/axelf4/unicode-linebreak")
    (synopsis "Implementation of the Unicode Line Breaking Algorithm")
    (description "Implementation of the Unicode Line Breaking Algorithm")
    (license license:asl2.0)))

(define-public rust-terminal-size-0.1
  (package
    (name "rust-terminal-size")
    (version "0.1.17")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "terminal_size" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1pq60ng1a7fjp597ifk1cqlz8fv9raz9xihddld1m1pfdia1lg33"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-libc" ,rust-libc-0.2) ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/eminence/terminal-size")
    (synopsis "Gets the size of your Linux or Windows terminal")
    (description "Gets the size of your Linux or Windows terminal")
    (license (list license:expat license:asl2.0))))

(define-public rust-openblas-src-0.9
  (package
    (name "rust-openblas-src")
    (version "0.9.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "openblas-src" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0syy38a5bgv5mj6mb1n1zk1d6l5gqqrswvbmwkwx6h4z9wfrsql4"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/blas-lapack-rs/openblas-src")
    (synopsis "The package provides a source of BLAS and LAPACK via OpenBLAS.")
    (description
      "The package provides a source of BLAS and LAPACK via OpenBLAS.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-netlib-src-0.8
  (package
    (name "rust-netlib-src")
    (version "0.8.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "netlib-src" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "04l2ggdaq0bjc64prsw2f8ddxn84m1rmpnkjb9nr0ijdpcv1zx1r"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t #:cargo-inputs (("rust-cmake" ,rust-cmake-0.1))))
    (home-page "https://github.com/blas-lapack-rs/netlib-src")
    (synopsis "The package provides a source of BLAS and LAPACK via Netlib.")
    (description
      "The package provides a source of BLAS and LAPACK via Netlib.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-accelerate-src-0.3
  (package
    (name "rust-accelerate-src")
    (version "0.3.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "accelerate-src" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "17fiqyq7f9k41pbsyrvk9pxyx9z6fw399wq036cvwkbmb14xcpj1"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/blas-lapack-rs/accelerate-src")
    (synopsis
      "The package provides a source of BLAS and LAPACK via the Accelerate framework.")
    (description
      "The package provides a source of BLAS and LAPACK via the Accelerate framework.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-blas-src-0.6
  (package
    (name "rust-blas-src")
    (version "0.6.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "blas-src" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0a134wadi4rslfqk4mafi6y7bbvacjh12x87621w4vyc3dni6px2"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-accelerate-src" ,rust-accelerate-src-0.3)
         ("rust-netlib-src" ,rust-netlib-src-0.8)
         ("rust-openblas-src" ,rust-openblas-src-0.9))))
    (home-page "https://github.com/blas-lapack-rs/blas-src")
    (synopsis "The package provides a BLAS source of choice.")
    (description "The package provides a BLAS source of choice.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-ndarray-0.14
  (package
    (name "rust-ndarray")
    (version "0.14.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ndarray" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "011wqzmrd9gpfcfvy1xfbskqfiahn96pmi2d0r9x34d682amq3bc"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-approx" ,rust-approx-0.4)
         ("rust-blas-src" ,rust-blas-src-0.6)
         ("rust-cblas-sys" ,rust-cblas-sys-0.1)
         ("rust-matrixmultiply" ,rust-matrixmultiply-0.2)
         ("rust-num-complex" ,rust-num-complex-0.3)
         ("rust-num-integer" ,rust-num-integer-0.1)
         ("rust-num-traits" ,rust-num-traits-0.2)
         ("rust-rawpointer" ,rust-rawpointer-0.2)
         ("rust-rayon" ,rust-rayon-1)
         ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/rust-ndarray/ndarray")
    (synopsis
      "An n-dimensional array for general elements and for numerics. Lightweight array views and slicing; views support chunking and splitting.")
    (description
      "An n-dimensional array for general elements and for numerics.  Lightweight array
views and slicing; views support chunking and splitting.")
    (license (list license:expat license:asl2.0))))

(define-public rust-smawk-0.3
  (package
    (name "rust-smawk")
    (version "0.3.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "smawk" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0hv0q1mw1r1brk7v3g4a80j162p7g1dri4bdidykrakzfqjd4ypn"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t #:cargo-inputs (("rust-ndarray" ,rust-ndarray-0.14))))
    (home-page "https://github.com/mgeisler/smawk")
    (synopsis "Functions for finding row-minima in a totally monotone matrix.")
    (description
      "This package provides functions for finding row-minima in a totally monotone
matrix.")
    (license license:expat)))

(define-public rust-hyphenation-commons-0.8
  (package
    (name "rust-hyphenation-commons")
    (version "0.8.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "hyphenation_commons" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1gq59h9h8597k04yl53an0j56cvb0in98pxpp27dkiz5mnifgssz"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-fst" ,rust-fst-0.4) ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/tapeinosyne/hyphenation")
    (synopsis "Proemial code for the `hyphenation` library")
    (description "Proemial code for the `hyphenation` library")
    (license (list license:asl2.0 license:expat))))

(define-public rust-fst-0.4
  (package
    (name "rust-fst")
    (version "0.4.7")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "fst" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "06mnksicgv9rp8b7w0ykkshf355l05zym3ygm74qr5z30ndmpf3s"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-utf8-ranges" ,rust-utf8-ranges-1))))
    (home-page "https://github.com/BurntSushi/fst")
    (synopsis
      "Use finite state transducers to compactly represents sets or maps of many
strings (> 1 billion is possible).
")
    (description
      "Use finite state transducers to compactly represents sets or maps of many
strings (> 1 billion is possible).")
    (license (list license:unlicense license:expat))))

(define-public rust-hyphenation-0.8
  (package
    (name "rust-hyphenation")
    (version "0.8.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "hyphenation" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1w2hib167vpz7jbg3zs92ifihj4akirlhb5509aib1df8i6dvx5w"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-bincode" ,rust-bincode-1)
         ("rust-bincode" ,rust-bincode-1)
         ("rust-fst" ,rust-fst-0.4)
         ("rust-fst" ,rust-fst-0.4)
         ("rust-hyphenation-commons" ,rust-hyphenation-commons-0.8)
         ("rust-hyphenation-commons" ,rust-hyphenation-commons-0.8)
         ("rust-pocket-resources" ,rust-pocket-resources-0.3)
         ("rust-serde" ,rust-serde-1)
         ("rust-serde" ,rust-serde-1)
         ("rust-unicode-normalization" ,rust-unicode-normalization-0.1))))
    (home-page "https://github.com/tapeinosyne/hyphenation")
    (synopsis "Knuth-Liang hyphenation for a variety of languages")
    (description "Knuth-Liang hyphenation for a variety of languages")
    (license (list license:asl2.0 license:expat))))

(define-public rust-textwrap-0.15
  (package
    (name "rust-textwrap")
    (version "0.15.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "textwrap" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1yw513k61lfiwgqrfvsjw1a5wpvm0azhpjr2kr0jhnq9c56is55i"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-hyphenation" ,rust-hyphenation-0.8)
         ("rust-smawk" ,rust-smawk-0.3)
         ("rust-terminal-size" ,rust-terminal-size-0.1)
         ("rust-unicode-linebreak" ,rust-unicode-linebreak-0.1)
         ("rust-unicode-width" ,rust-unicode-width-0.1))))
    (home-page "https://github.com/mgeisler/textwrap")
    (synopsis
      "Powerful library for word wrapping, indenting, and dedenting strings")
    (description
      "Powerful library for word wrapping, indenting, and dedenting strings")
    (license license:expat)))

(define-public rust-uniquote-3
  (package
    (name "rust-uniquote")
    (version "3.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "uniquote" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1bkl0n41yvs415mqny4b434kr456ysnb3dhic1zrrzppwx95jvxa"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/dylni/uniquote")
    (synopsis "Quote strings for clear display in output
")
    (description "Quote strings for clear display in output")
    (license (list license:expat license:asl2.0))))

(define-public rust-print-bytes-0.5
  (package
    (name "rust-print-bytes")
    (version "0.5.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "print_bytes" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0d4i9y3jx1chi6w97a8rgdbwm9g3cppr53rw53zl6fcaq31qx0b6"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t #:cargo-inputs (("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/dylni/print_bytes")
    (synopsis "Print bytes as losslessly as possible
")
    (description "Print bytes as losslessly as possible")
    (license (list license:expat license:asl2.0))))

(define-public rust-os-str-bytes-6
  (package
    (name "rust-os-str-bytes")
    (version "6.0.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "os_str_bytes" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0r5z5xds2wzzqlqjaw96dpjsz5nqyzc1rflm4mh09aa32qyl88lf"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-memchr" ,rust-memchr-2)
         ("rust-print-bytes" ,rust-print-bytes-0.5)
         ("rust-uniquote" ,rust-uniquote-3))))
    (home-page "https://github.com/dylni/os_str_bytes")
    (synopsis
      "Utilities for converting between byte sequences and platform-native strings
")
    (description
      "Utilities for converting between byte sequences and platform-native strings")
    (license (list license:expat license:asl2.0))))

(define-public rust-clap-derive-3
  (package
    (name "rust-clap-derive")
    (version "3.1.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "clap_derive" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "05mz2y6k73wc1gvv9r4mllfqslzvlwkvx77lk7769ag1xlwd15fs"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-heck" ,rust-heck-0.4)
         ("rust-proc-macro-error" ,rust-proc-macro-error-1)
         ("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/clap-rs/clap/tree/master/clap_derive")
    (synopsis
      "Parse command line argument by defining a struct, derive crate.")
    (description
      "Parse command line argument by defining a struct, derive crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-clap-3
  (package
    (name "rust-clap")
    (version "3.1.8")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "clap" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "071vqym6jcyirl9zscxmvcaw5n2p5aas3nsm1c0xq5ly3pv7vi3i"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-atty" ,rust-atty-0.2)
         ("rust-backtrace" ,rust-backtrace-0.3)
         ("rust-bitflags" ,rust-bitflags-1)
         ("rust-clap-derive" ,rust-clap-derive-3)
         ("rust-indexmap" ,rust-indexmap-1)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-os-str-bytes" ,rust-os-str-bytes-6)
         ("rust-regex" ,rust-regex-1)
         ("rust-strsim" ,rust-strsim-0.10)
         ("rust-termcolor" ,rust-termcolor-1)
         ("rust-terminal-size" ,rust-terminal-size-0.1)
         ("rust-textwrap" ,rust-textwrap-0.15)
         ("rust-unicase" ,rust-unicase-2)
         ("rust-yaml-rust" ,rust-yaml-rust-0.4))))
    (home-page "https://github.com/clap-rs/clap")
    (synopsis
      "A simple to use, efficient, and full-featured Command Line Argument Parser")
    (description
      "This package provides a simple to use, efficient, and full-featured Command Line
Argument Parser")
    (license (list license:expat license:asl2.0))))

(define-public rust-cc-1
  (package
    (name "rust-cc")
    (version "1.0.73")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "cc" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "04ccylrjq94jssh8f7d7hxv64gs9f1m1jrsxb7wqgfxk4xljmzrg"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-jobserver" ,rust-jobserver-0.1))))
    (home-page "https://github.com/alexcrichton/cc-rs")
    (synopsis
      "A build-time dependency for Cargo build scripts to assist in invoking the native
C compiler to compile native C code into a static archive to be linked into Rust
code.
")
    (description
      "This package provides a build-time dependency for Cargo build scripts to assist
in invoking the native C compiler to compile native C code into a static archive
to be linked into Rust code.")
    (license (list license:expat license:asl2.0))))

(define-public rust-pretty-assertions-1
  (package
    (name "rust-pretty-assertions")
    (version "1.2.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "pretty_assertions" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "12r2zd27kr3wg2i1i0a3mp0gwnr73lk7q8lwpw2cgf8rag5kih2p"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-ansi-term" ,rust-ansi-term-0.12)
         ("rust-ctor" ,rust-ctor-0.1)
         ("rust-diff" ,rust-diff-0.1)
         ("rust-output-vt100" ,rust-output-vt100-0.1))))
    (home-page "https://github.com/colin-kiegel/rust-pretty-assertions")
    (synopsis
      "Overwrite `assert_eq!` and `assert_ne!` with drop-in replacements, adding colorful diffs.")
    (description
      "Overwrite `assert_eq!` and `assert_ne!` with drop-in replacements, adding
colorful diffs.")
    (license (list license:expat license:asl2.0))))

(define-public rust-if-chain-0.1
  (package
    (name "rust-if-chain")
    (version "0.1.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "if_chain" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1v2phdgq9i313svbrcaldygivd0jn25gpml7h6vyf906mbcrbb2b"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/lambda-fairy/if_chain")
    (synopsis "Macro for writing nested `if let` expressions.")
    (description "Macro for writing nested `if let` expressions.")
    (license (list license:expat license:asl2.0))))

(define-public rust-cargo-metadata-0.5
  (package
    (name "rust-cargo-metadata")
    (version "0.5.8")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "cargo_metadata" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1l3ba9mb0ihh4n33s41y3lifpfy41dgcbccz216fs0yacfwa1z0y"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-error-chain" ,rust-error-chain-0.11)
         ("rust-semver" ,rust-semver-0.9)
         ("rust-serde" ,rust-serde-1)
         ("rust-serde-derive" ,rust-serde-derive-1)
         ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/oli-obk/cargo_metadata")
    (synopsis "structured access to the output of `cargo metadata`")
    (description "structured access to the output of `cargo metadata`")
    (license license:expat)))

(define-public rust-clippy-lints-0.0.209
  (package
    (name "rust-clippy-lints")
    (version "0.0.209")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "clippy_lints" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1s164sqaxvp25byf1dcg0h30b9h5gjmvckdax5f454089nn7j5l9"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-cargo-metadata" ,rust-cargo-metadata-0.5)
         ("rust-if-chain" ,rust-if-chain-0.1)
         ("rust-itertools" ,rust-itertools-0.7)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-matches" ,rust-matches-0.1)
         ("rust-pulldown-cmark" ,rust-pulldown-cmark-0.1)
         ("rust-quine-mc-cluskey" ,rust-quine-mc-cluskey-0.2)
         ("rust-regex-syntax" ,rust-regex-syntax-0.6)
         ("rust-semver" ,rust-semver-0.9)
         ("rust-serde" ,rust-serde-1)
         ("rust-serde-derive" ,rust-serde-derive-1)
         ("rust-toml" ,rust-toml-0.4)
         ("rust-unicode-normalization" ,rust-unicode-normalization-0.1)
         ("rust-url" ,rust-url-1))))
    (home-page "https://github.com/rust-lang-nursery/rust-clippy")
    (synopsis "A bunch of helpful lints to avoid common pitfalls in Rust")
    (description
      "This package provides a bunch of helpful lints to avoid common pitfalls in Rust")
    (license license:mpl2.0)))

(define-public rust-clippy-0.0.209
  (package
    (name "rust-clippy")
    (version "0.0.209")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "clippy" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0zac8lc38hgpq46iifaxap6678pyzdhjrgcnz4xcsrwddylwnmpy"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-ansi-term" ,rust-ansi-term-0.11)
         ("rust-clippy-lints" ,rust-clippy-lints-0.0.209)
         ("rust-regex" ,rust-regex-1)
         ("rust-rustc-version" ,rust-rustc-version-0.2)
         ("rust-semver" ,rust-semver-0.9))))
    (home-page "https://github.com/rust-lang-nursery/rust-clippy")
    (synopsis "A bunch of helpful lints to avoid common pitfalls in Rust.")
    (description
      "This package provides a bunch of helpful lints to avoid common pitfalls in Rust.")
    (license license:mpl2.0)))

(define-public rust-wu-diff-0.1
  (package
    (name "rust-wu-diff")
    (version "0.1.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "wu-diff" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "14w8yacn4hk9k4rfzshlgir966xbwgbwk3fvf0l461nyzhsnfglf"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-clippy" ,rust-clippy-0.0.209))))
    (home-page "https://github.com/bokuweb/wu-diff-rs")
    (synopsis
      "Compute differences between two slices using wu(the O(NP)) algorithm.")
    (description
      "Compute differences between two slices using wu(the O(NP)) algorithm.")
    (license license:expat)))

(define-public rust-archery-0.4
  (package
    (name "rust-archery")
    (version "0.4.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "archery" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "00ncyipasb9i934vd8lm2a243qm6xv52nxk9fq3fwls09jyak38a"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-static-assertions" ,rust-static-assertions-1))))
    (home-page "https://github.com/orium/archery")
    (synopsis "Abstract over the atomicity of reference-counting pointers")
    (description "Abstract over the atomicity of reference-counting pointers")
    (license license:mpl2.0)))

(define-public rust-rpds-0.10
  (package
    (name "rust-rpds")
    (version "0.10.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rpds" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0piilrndhqapaq9a8sl2vln1qzgcx8999j68jbhrm882xmyl2kh5"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-archery" ,rust-archery-0.4) ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/orium/rpds")
    (synopsis "Persistent data structures with structural sharing")
    (description "Persistent data structures with structural sharing")
    (license license:mpl2.0)))

(define-public rust-schemars-derive-0.6
  (package
    (name "rust-schemars-derive")
    (version "0.6.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "schemars_derive" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1a9h8bqqqd0i6605gyhz2jw2hi1wq1vfi262qrflkn3pyk75wlrq"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-serde-derive-internals" ,rust-serde-derive-internals-0.25)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://graham.cool/schemars/")
    (synopsis "Macros for #[derive(JsonSchema)], for use with schemars")
    (description "Macros for #[derive(JsonSchema)], for use with schemars")
    (license license:expat)))

(define-public rust-schemars-0.6
  (package
    (name "rust-schemars")
    (version "0.6.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "schemars" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1v6acgxkbhaw7fzg4mp09jv231f0mr224my629435wxasrrrfmh7"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-arrayvec" ,rust-arrayvec-0.5)
         ("rust-chrono" ,rust-chrono-0.4)
         ("rust-either" ,rust-either-1)
         ("rust-indexmap" ,rust-indexmap-1)
         ("rust-schemars-derive" ,rust-schemars-derive-0.6)
         ("rust-serde" ,rust-serde-1)
         ("rust-serde-json" ,rust-serde-json-1)
         ("rust-smallvec" ,rust-smallvec-1)
         ("rust-uuid" ,rust-uuid-0.8))))
    (home-page "https://graham.cool/schemars/")
    (synopsis "Generate JSON Schemas from Rust code")
    (description "Generate JSON Schemas from Rust code")
    (license license:expat)))

(define-public rust-tinyvec-1
  (package
    (name "rust-tinyvec")
    (version "1.5.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "tinyvec" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1lnqnva56673r0d40586rkzyl2qqcz19wm29q8h5a95n89d1s71c"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-arbitrary" ,rust-arbitrary-1)
         ("rust-serde" ,rust-serde-1)
         ("rust-tinyvec-macros" ,rust-tinyvec-macros-0.1))))
    (home-page "https://github.com/Lokathor/tinyvec")
    (synopsis "`tinyvec` provides 100% safe vec-like data structures.")
    (description "`tinyvec` provides 100% safe vec-like data structures.")
    (license (list license:zlib license:asl2.0 license:expat))))

(define-public rust-smallvec-1
  (package
    (name "rust-smallvec")
    (version "1.8.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "smallvec" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "10zf4fn63p2d6sx8qap3jvyarcfw563308x3431hd4c34r35gpgj"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-arbitrary" ,rust-arbitrary-1) ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/servo/rust-smallvec")
    (synopsis
      "'Small vector' optimization: store up to a small number of items on the stack")
    (description
      "'Small vector' optimization: store up to a small number of items on the stack")
    (license (list license:expat license:asl2.0))))

(define-public rust-smallbitvec-2
  (package
    (name "rust-smallbitvec")
    (version "2.5.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "smallbitvec" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0plrbldsjpwip3afbzd8fgrnvdhizcg5z4ncfqs4q6x4qjflzkkm"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-development-inputs
           `(("rust-bit-vec" ,rust-bit-vec-0.4)
             ("rust-rand" ,rust-rand-0.4))))
    (home-page "https://github.com/servo/smallbitvec")
    (synopsis "Bit vector optimized for size and inline storage")
    (description
     "This package provides a bit vector optimized for size
and inline storage")
    (license (list license:expat license:asl2.0))))

(define-public rust-rkyv-derive-0.7
  (package
    (name "rust-rkyv-derive")
    (version "0.7.36")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rkyv_derive" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "100ll0pkbbd37a8i0671n83z25rx369lqfiga8jb7g2xjbam5iqg"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/rkyv/rkyv")
    (synopsis "Derive macro for rkyv")
    (description "Derive macro for rkyv")
    (license license:expat)))

(define-public rust-rend-0.3
  (package
    (name "rust-rend")
    (version "0.3.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rend" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "15fz3rw8c74586kxl6dcdn4s864ph884wfpg9shgnbrnnss69bvr"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-bytecheck" ,rust-bytecheck-0.6))))
    (home-page "https://github.com/djkoloski/rend")
    (synopsis "Endian-aware primitives for Rust")
    (description "Endian-aware primitives for Rust")
    (license license:expat)))

(define-public rust-hashbrown-0.12
  (package
    (name "rust-hashbrown")
    (version "0.12.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "hashbrown" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0n0pvw03ljspflqwkybjavdi2mfphyzvvhg3qskacbxrhw2x88cc"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-ahash" ,rust-ahash-0.7)
         ("rust-bumpalo" ,rust-bumpalo-3)
         ("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
         ("rust-rayon" ,rust-rayon-1)
         ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
         ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
         ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/rust-lang/hashbrown")
    (synopsis "A Rust port of Google's SwissTable hash map")
    (description
      "This package provides a Rust port of Google's SwissTable hash map")
    (license (list license:asl2.0 license:expat))))

(define-public rust-bytecheck-derive-0.6
  (package
    (name "rust-bytecheck-derive")
    (version "0.6.7")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bytecheck_derive" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0006ycn72g788hzfy5zd7gl3hxhqi5dj0q7plrjydnimq693nasa"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/djkoloski/bytecheck")
    (synopsis "Derive macro for bytecheck")
    (description "Derive macro for bytecheck")
    (license license:expat)))

(define-public rust-bytecheck-0.6
  (package
    (name "rust-bytecheck")
    (version "0.6.7")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bytecheck" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1gjasf0viyrn1p01fb77n3n8ga8mjif6wvixgk5n98nd67m8jj1i"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-bytecheck-derive" ,rust-bytecheck-derive-0.6)
         ("rust-ptr-meta" ,rust-ptr-meta-0.1)
         ("rust-simdutf8" ,rust-simdutf8-0.1)
         ("rust-uuid" ,rust-uuid-0.8))))
    (home-page "https://github.com/djkoloski/bytecheck")
    (synopsis "Derive macro for bytecheck")
    (description "Derive macro for bytecheck")
    (license license:expat)))

(define-public rust-rkyv-0.7
  (package
    (name "rust-rkyv")
    (version "0.7.36")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rkyv" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0dkw3ybgmji69f1fph5dywjas8zdq0j0nkn81l5mk1d8h4lswc2j"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-bytecheck" ,rust-bytecheck-0.6)
         ("rust-hashbrown" ,rust-hashbrown-0.12)
         ("rust-indexmap" ,rust-indexmap-1)
         ("rust-ptr-meta" ,rust-ptr-meta-0.1)
         ("rust-rend" ,rust-rend-0.3)
         ("rust-rkyv-derive" ,rust-rkyv-derive-0.7)
         ("rust-seahash" ,rust-seahash-4)
         ("rust-smallvec" ,rust-smallvec-1)
         ("rust-tinyvec" ,rust-tinyvec-1)
         ("rust-uuid" ,rust-uuid-0.8))))
    (home-page "https://github.com/rkyv/rkyv")
    (synopsis "Zero-copy deserialization framework for Rust")
    (description "Zero-copy deserialization framework for Rust")
    (license license:expat)))

(define-public rust-ordered-float-2
  (package
    (name "rust-ordered-float")
    (version "2.10.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ordered-float" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "11qdskfgk911bs541avzkrfahq6arnb2bkvzs0c36na2m4ncyh3r"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-arbitrary" ,rust-arbitrary-1)
         ("rust-num-traits" ,rust-num-traits-0.2)
         ("rust-proptest" ,rust-proptest-1)
         ("rust-rand" ,rust-rand-0.8)
         ("rust-rkyv" ,rust-rkyv-0.7)
         ("rust-schemars" ,rust-schemars-0.6)
         ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/reem/rust-ordered-float")
    (synopsis "Wrappers for total ordering on floats")
    (description "Wrappers for total ordering on floats")
    (license license:expat)))

(define-public rust-radix-heap-0.4
  (package
    (name "rust-radix-heap")
    (version "0.4.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "radix-heap" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "00g6vq9dn5v5h8sj2298h6zk3pm3wq8qhacrnjak40b4yjfyrzsr"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-ordered-float" ,rust-ordered-float-2))))
    (home-page "https://github.com/mpdn/radix-heap")
    (synopsis "Fast monotone priority queues")
    (description "Fast monotone priority queues")
    (license license:expat)))

(define-public rust-is-ci-1
  (package
    (name "rust-is-ci")
    (version "1.1.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "is_ci" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1ywra2z56x6d4pc02zq24a4x7gvpixynh9524icbpchbf9ydwv31"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/zkat/is_ci")
    (synopsis
      "Super lightweight CI environment checker. Just tells you if you're in CI or not without much fuss.")
    (description
      "Super lightweight CI environment checker.  Just tells you if you're in CI or not
without much fuss.")
    (license license:isc)))

(define-public rust-supports-color-1
  (package
    (name "rust-supports-color")
    (version "1.3.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "supports-color" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1yfi8yswjipk3ljzm79rbf3phw2fwlznhji1iap7pm4idg9wwwj8"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-atty" ,rust-atty-0.2) ("rust-is-ci" ,rust-is-ci-1))))
    (home-page "https://github.com/zkat/supports-color")
    (synopsis
      "Detects whether a terminal supports color, and gives details about that support.")
    (description
      "Detects whether a terminal supports color, and gives details about that support.")
    (license license:asl2.0)))

(define-public rust-owo-colors-3
  (package
    (name "rust-owo-colors")
    (version "3.3.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "owo-colors" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1sq3i8g5haj6xy56ln1ggm8waazzkkfj6272i8y9kl70g02y6wjy"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-supports-color" ,rust-supports-color-1))))
    (home-page "https://github.com/jam1garner/owo-colors")
    (synopsis "Zero-allocation terminal colors that'll make people go owo")
    (description "Zero-allocation terminal colors that'll make people go owo")
    (license license:expat)))

(define-public rust-libmimalloc-sys-0.1
  (package
    (name "rust-libmimalloc-sys")
    (version "0.1.24")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "libmimalloc-sys" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0s8ab4nc33qgk9jybpv0zxcb75jgwwjb7fsab1rkyjgdyr0gq1bp"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-cc" ,rust-cc-1) ("rust-cty" ,rust-cty-0.2))))
    (home-page
      "https://github.com/purpleprotocol/mimalloc_rust/tree/master/libmimalloc-sys")
    (synopsis "Sys crate wrapping the mimalloc allocator")
    (description "Sys crate wrapping the mimalloc allocator")
    (license license:expat)))

(define-public rust-mimalloc-0.1
  (package
    (name "rust-mimalloc")
    (version "0.1.28")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "mimalloc" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "09ir1qlg5rwb74l8zh5nyxgwmnpwf7r5zxj26bdnnbqc74qs3pxh"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-libmimalloc-sys" ,rust-libmimalloc-sys-0.1))))
    (home-page "https://github.com/purpleprotocol/mimalloc_rust")
    (synopsis "Performance and security oriented drop-in allocator")
    (description "Performance and security oriented drop-in allocator")
    (license license:expat)))

(define-public rust-itertools-0.10
  (package
    (name "rust-itertools")
    (version "0.10.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "itertools" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1qy55fqbaisr9qgbn7cvdvqlfqbh1f4ddf99zwan56z7l6gx3ad9"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t #:cargo-inputs (("rust-either" ,rust-either-1))))
    (home-page "https://github.com/rust-itertools/itertools")
    (synopsis
      "Extra iterator adaptors, iterator methods, free functions, and macros.")
    (description
      "Extra iterator adaptors, iterator methods, free functions, and macros.")
    (license (list license:expat license:asl2.0))))

(define-public rust-const-format-proc-macros-0.2
  (package
    (name "rust-const-format-proc-macros")
    (version "0.2.22")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "const_format_proc_macros" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0bdqnac7qfnn2gayxazvb148nczdxn37djyyly6s8y18jxfns6gg"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1)
         ("rust-unicode-xid" ,rust-unicode-xid-0.2))))
    (home-page "https://github.com/rodrimati1992/const_format_crates/")
    (synopsis "Implementation detail of the `const_format` crate")
    (description "Implementation detail of the `const_format` crate")
    (license license:zlib)))

(define-public rust-const-format-0.2
  (package
    (name "rust-const-format")
    (version "0.2.22")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "const_format" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "055n171jydahwcnn1dqwk5rkpika5cc81qy3h2v0gi0fkga6rg12"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-const-format-proc-macros"
          ,rust-const-format-proc-macros-0.2))))
    (home-page "https://github.com/rodrimati1992/const_format_crates/")
    (synopsis "Compile-time string formatting")
    (description "Compile-time string formatting")
    (license license:zlib)))

(define-public rust-unicode-linebreak-0.1
  (package
    (name "rust-unicode-linebreak")
    (version "0.1.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "unicode-linebreak" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0grq6bsn967q4vpifld53s7a140nlmpq5vy8ghgr73f4n2mdqlis"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t #:cargo-inputs (("rust-regex" ,rust-regex-1))))
    (home-page "https://github.com/axelf4/unicode-linebreak")
    (synopsis "Implementation of the Unicode Line Breaking Algorithm")
    (description "Implementation of the Unicode Line Breaking Algorithm")
    (license license:asl2.0)))

(define-public rust-terminal-size-0.1
  (package
    (name "rust-terminal-size")
    (version "0.1.17")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "terminal_size" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1pq60ng1a7fjp597ifk1cqlz8fv9raz9xihddld1m1pfdia1lg33"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-libc" ,rust-libc-0.2) ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/eminence/terminal-size")
    (synopsis "Gets the size of your Linux or Windows terminal")
    (description "Gets the size of your Linux or Windows terminal")
    (license (list license:expat license:asl2.0))))

(define-public rust-openblas-src-0.9
  (package
    (name "rust-openblas-src")
    (version "0.9.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "openblas-src" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0syy38a5bgv5mj6mb1n1zk1d6l5gqqrswvbmwkwx6h4z9wfrsql4"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/blas-lapack-rs/openblas-src")
    (synopsis "The package provides a source of BLAS and LAPACK via OpenBLAS.")
    (description
      "The package provides a source of BLAS and LAPACK via OpenBLAS.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-netlib-src-0.8
  (package
    (name "rust-netlib-src")
    (version "0.8.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "netlib-src" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "04l2ggdaq0bjc64prsw2f8ddxn84m1rmpnkjb9nr0ijdpcv1zx1r"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t #:cargo-inputs (("rust-cmake" ,rust-cmake-0.1))))
    (home-page "https://github.com/blas-lapack-rs/netlib-src")
    (synopsis "The package provides a source of BLAS and LAPACK via Netlib.")
    (description
      "The package provides a source of BLAS and LAPACK via Netlib.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-accelerate-src-0.3
  (package
    (name "rust-accelerate-src")
    (version "0.3.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "accelerate-src" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "17fiqyq7f9k41pbsyrvk9pxyx9z6fw399wq036cvwkbmb14xcpj1"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/blas-lapack-rs/accelerate-src")
    (synopsis
      "The package provides a source of BLAS and LAPACK via the Accelerate framework.")
    (description
      "The package provides a source of BLAS and LAPACK via the Accelerate framework.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-blas-src-0.6
  (package
    (name "rust-blas-src")
    (version "0.6.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "blas-src" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0a134wadi4rslfqk4mafi6y7bbvacjh12x87621w4vyc3dni6px2"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-accelerate-src" ,rust-accelerate-src-0.3)
         ("rust-netlib-src" ,rust-netlib-src-0.8)
         ("rust-openblas-src" ,rust-openblas-src-0.9))))
    (home-page "https://github.com/blas-lapack-rs/blas-src")
    (synopsis "The package provides a BLAS source of choice.")
    (description "The package provides a BLAS source of choice.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-ndarray-0.14
  (package
    (name "rust-ndarray")
    (version "0.14.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ndarray" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "011wqzmrd9gpfcfvy1xfbskqfiahn96pmi2d0r9x34d682amq3bc"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-approx" ,rust-approx-0.4)
         ("rust-blas-src" ,rust-blas-src-0.6)
         ("rust-cblas-sys" ,rust-cblas-sys-0.1)
         ("rust-matrixmultiply" ,rust-matrixmultiply-0.2)
         ("rust-num-complex" ,rust-num-complex-0.3)
         ("rust-num-integer" ,rust-num-integer-0.1)
         ("rust-num-traits" ,rust-num-traits-0.2)
         ("rust-rawpointer" ,rust-rawpointer-0.2)
         ("rust-rayon" ,rust-rayon-1)
         ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/rust-ndarray/ndarray")
    (synopsis
      "An n-dimensional array for general elements and for numerics. Lightweight array views and slicing; views support chunking and splitting.")
    (description
      "An n-dimensional array for general elements and for numerics.  Lightweight array
views and slicing; views support chunking and splitting.")
    (license (list license:expat license:asl2.0))))

(define-public rust-smawk-0.3
  (package
    (name "rust-smawk")
    (version "0.3.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "smawk" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0hv0q1mw1r1brk7v3g4a80j162p7g1dri4bdidykrakzfqjd4ypn"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t #:cargo-inputs (("rust-ndarray" ,rust-ndarray-0.14))))
    (home-page "https://github.com/mgeisler/smawk")
    (synopsis "Functions for finding row-minima in a totally monotone matrix.")
    (description
      "This package provides functions for finding row-minima in a totally monotone
matrix.")
    (license license:expat)))

(define-public rust-hyphenation-commons-0.8
  (package
    (name "rust-hyphenation-commons")
    (version "0.8.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "hyphenation_commons" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1gq59h9h8597k04yl53an0j56cvb0in98pxpp27dkiz5mnifgssz"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-fst" ,rust-fst-0.4) ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/tapeinosyne/hyphenation")
    (synopsis "Proemial code for the `hyphenation` library")
    (description "Proemial code for the `hyphenation` library")
    (license (list license:asl2.0 license:expat))))

(define-public rust-fst-0.4
  (package
    (name "rust-fst")
    (version "0.4.7")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "fst" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "06mnksicgv9rp8b7w0ykkshf355l05zym3ygm74qr5z30ndmpf3s"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-utf8-ranges" ,rust-utf8-ranges-1))))
    (home-page "https://github.com/BurntSushi/fst")
    (synopsis
      "Use finite state transducers to compactly represents sets or maps of many
strings (> 1 billion is possible).
")
    (description
      "Use finite state transducers to compactly represents sets or maps of many
strings (> 1 billion is possible).")
    (license (list license:unlicense license:expat))))

(define-public rust-hyphenation-0.8
  (package
    (name "rust-hyphenation")
    (version "0.8.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "hyphenation" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1w2hib167vpz7jbg3zs92ifihj4akirlhb5509aib1df8i6dvx5w"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-bincode" ,rust-bincode-1)
         ("rust-bincode" ,rust-bincode-1)
         ("rust-fst" ,rust-fst-0.4)
         ("rust-fst" ,rust-fst-0.4)
         ("rust-hyphenation-commons" ,rust-hyphenation-commons-0.8)
         ("rust-hyphenation-commons" ,rust-hyphenation-commons-0.8)
         ("rust-pocket-resources" ,rust-pocket-resources-0.3)
         ("rust-serde" ,rust-serde-1)
         ("rust-serde" ,rust-serde-1)
         ("rust-unicode-normalization" ,rust-unicode-normalization-0.1))))
    (home-page "https://github.com/tapeinosyne/hyphenation")
    (synopsis "Knuth-Liang hyphenation for a variety of languages")
    (description "Knuth-Liang hyphenation for a variety of languages")
    (license (list license:asl2.0 license:expat))))

(define-public rust-textwrap-0.15
  (package
    (name "rust-textwrap")
    (version "0.15.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "textwrap" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1yw513k61lfiwgqrfvsjw1a5wpvm0azhpjr2kr0jhnq9c56is55i"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-hyphenation" ,rust-hyphenation-0.8)
         ("rust-smawk" ,rust-smawk-0.3)
         ("rust-terminal-size" ,rust-terminal-size-0.1)
         ("rust-unicode-linebreak" ,rust-unicode-linebreak-0.1)
         ("rust-unicode-width" ,rust-unicode-width-0.1))))
    (home-page "https://github.com/mgeisler/textwrap")
    (synopsis
      "Powerful library for word wrapping, indenting, and dedenting strings")
    (description
      "Powerful library for word wrapping, indenting, and dedenting strings")
    (license license:expat)))

(define-public rust-uniquote-3
  (package
    (name "rust-uniquote")
    (version "3.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "uniquote" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1bkl0n41yvs415mqny4b434kr456ysnb3dhic1zrrzppwx95jvxa"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/dylni/uniquote")
    (synopsis "Quote strings for clear display in output
")
    (description "Quote strings for clear display in output")
    (license (list license:expat license:asl2.0))))

(define-public rust-print-bytes-0.5
  (package
    (name "rust-print-bytes")
    (version "0.5.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "print_bytes" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0d4i9y3jx1chi6w97a8rgdbwm9g3cppr53rw53zl6fcaq31qx0b6"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t #:cargo-inputs (("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/dylni/print_bytes")
    (synopsis "Print bytes as losslessly as possible
")
    (description "Print bytes as losslessly as possible")
    (license (list license:expat license:asl2.0))))

(define-public rust-os-str-bytes-6
  (package
    (name "rust-os-str-bytes")
    (version "6.0.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "os_str_bytes" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0r5z5xds2wzzqlqjaw96dpjsz5nqyzc1rflm4mh09aa32qyl88lf"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-memchr" ,rust-memchr-2)
         ("rust-print-bytes" ,rust-print-bytes-0.5)
         ("rust-uniquote" ,rust-uniquote-3))))
    (home-page "https://github.com/dylni/os_str_bytes")
    (synopsis
      "Utilities for converting between byte sequences and platform-native strings
")
    (description
      "Utilities for converting between byte sequences and platform-native strings")
    (license (list license:expat license:asl2.0))))

(define-public rust-clap-derive-3
  (package
    (name "rust-clap-derive")
    (version "3.1.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "clap_derive" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "05mz2y6k73wc1gvv9r4mllfqslzvlwkvx77lk7769ag1xlwd15fs"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-heck" ,rust-heck-0.4)
         ("rust-proc-macro-error" ,rust-proc-macro-error-1)
         ("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/clap-rs/clap/tree/master/clap_derive")
    (synopsis
      "Parse command line argument by defining a struct, derive crate.")
    (description
      "Parse command line argument by defining a struct, derive crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-clap-3
  (package
    (name "rust-clap")
    (version "3.1.8")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "clap" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "071vqym6jcyirl9zscxmvcaw5n2p5aas3nsm1c0xq5ly3pv7vi3i"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-atty" ,rust-atty-0.2)
         ("rust-backtrace" ,rust-backtrace-0.3)
         ("rust-bitflags" ,rust-bitflags-1)
         ("rust-clap-derive" ,rust-clap-derive-3)
         ("rust-indexmap" ,rust-indexmap-1)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-os-str-bytes" ,rust-os-str-bytes-6)
         ("rust-regex" ,rust-regex-1)
         ("rust-strsim" ,rust-strsim-0.10)
         ("rust-termcolor" ,rust-termcolor-1)
         ("rust-terminal-size" ,rust-terminal-size-0.1)
         ("rust-textwrap" ,rust-textwrap-0.15)
         ("rust-unicase" ,rust-unicase-2)
         ("rust-yaml-rust" ,rust-yaml-rust-0.4))))
    (home-page "https://github.com/clap-rs/clap")
    (synopsis
      "A simple to use, efficient, and full-featured Command Line Argument Parser")
    (description
      "This package provides a simple to use, efficient, and full-featured Command Line
Argument Parser")
    (license (list license:expat license:asl2.0))))

(define-public rust-blake2-0.9
  (package
    (name "rust-blake2")
    (version "0.9.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "blake2" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "1x3qz692hfrxgw6cd94iiid6iqal2dwj6zv5137swpgg4l17598h"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-crypto-mac" ,rust-crypto-mac-0.8)
         ("rust-digest" ,rust-digest-0.9)
         ("rust-opaque-debug" ,rust-opaque-debug-0.3))))
    (home-page "https://github.com/RustCrypto/hashes")
    (synopsis "BLAKE2 hash functions")
    (description "BLAKE2 hash functions")
    (license (list license:expat license:asl2.0))))

(define-public rust-case-0.1
  (package
    (name "rust-case")
    (version "0.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "case" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "1hgc6fdg01qfh0qx5c50n717vh0xqvrlvxix8ksng5p291mid2z8"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/SkylerLipthay/case")
    (synopsis "Set of letter case string helpers")
    (description
      "This package provides a set of letter case string helpers")
    (license license:expat)))

(define-public rust-derive-error-0.0.4
  (package
    (name "rust-derive-error")
    (version "0.0.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "derive-error" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "1j624ma4jw911yg3qqlvfybgk7614k2blhg6wgnb38wyn90882gc"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-case" ,rust-case-0.1)
         ("rust-quote" ,rust-quote-0.3)
         ("rust-syn" ,rust-syn-0.11))))
    (home-page "https://github.com/rushmorem/derive-error")
    (synopsis
      "Derive macro for Error using macros 1.1")
    (description
      "Derive macro for Error using macros 1.1")
    (license (list license:expat license:asl2.0))))

(define-public rust-downcast-0.10
  (package
    (name "rust-downcast")
    (version "0.10.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "downcast" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "07bh0l95gwrzak6rj29v8kkm577d8vivxsxhqgscf64b4bq59d2b"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/fkoep/downcast-rs")
    (synopsis
      "Trait for downcasting trait objects back to their original types")
    (description
      "Trait for downcasting trait objects back to their original types")
    (license license:expat)))

(define-public rust-flexi-logger-0.15
  (package
    (name "rust-flexi-logger")
    (version "0.15.12")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "flexi_logger" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "1gs2flpzjd4kr9jw614vaqxxz7fd56gqkr78j47q0ja1vfp3raxa"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-atty" ,rust-atty-0.2)
         ("rust-chrono" ,rust-chrono-0.4)
         ("rust-flate2" ,rust-flate2-1)
         ("rust-glob" ,rust-glob-0.3)
         ("rust-hostname" ,rust-hostname-0.3)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-log" ,rust-log-0.4)
         ("rust-notify" ,rust-notify-4)
         ("rust-regex" ,rust-regex-1)
         ("rust-serde" ,rust-serde-1)
         ("rust-serde-derive" ,rust-serde-derive-1)
         ("rust-thiserror" ,rust-thiserror-1)
         ("rust-toml" ,rust-toml-0.5)
         ("rust-yansi" ,rust-yansi-0.5))))
    (home-page "https://github.com/emabee/flexi_logger")
    (synopsis
      "Easy-to-configure and flexible logger")
    (description
      "Easy-to-configure and flexible logger that writes logs to stderr and/or to files")
    (license (list license:expat license:asl2.0))))

(define-public rust-fragile-1
  (package
    (name "rust-fragile")
    (version "1.0.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "fragile" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "1wlihmkjyhvl5rckal32p010piy1l15s6l81h7z31jcd971kk839"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/mitsuhiko/rust-fragile")
    (synopsis
      "Provides wrapper types for sending non-send values to other threads")
    (description
      "Provides wrapper types for sending non-send values to other threads")
    (license license:asl2.0)))

(define-public rust-hmac-0.10
  (package
    (name "rust-hmac")
    (version "0.10.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "hmac" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "058yxq54x7xn0gk2vy9bl51r32c9z7qlcl2b80bjh3lk3rmiqi61"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-crypto-mac" ,rust-crypto-mac-0.10)
         ("rust-digest" ,rust-digest-0.9))))
    (home-page "https://github.com/RustCrypto/MACs") (synopsis
      "Generic implementation of Hash-based Message Authentication Code (HMAC)")
    (description
      "Generic implementation of Hash-based Message Authentication Code (HMAC)")
    (license (list license:expat license:asl2.0))))

(define-public rust-hsluv-0.1
  (package
    (name "rust-hsluv")
    (version "0.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "hsluv" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "0g5p4x9np7292fxinqj34vlys5v20hg5yqqr8vvqbw8xcl5l3rax"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/bb010g/rust-hsluv")
    (synopsis
      "Human-friendly HSL, Rust implementation (revision 4)")
    (description
      "Human-friendly HSL, Rust implementation (revision 4)")
    (license license:expat)))

(define-public rust-minidom-0.13
  (package
    (name "rust-minidom")
    (version "0.13.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "minidom" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "13k0ngkwgj0zgn0zkkklnj274q351mpyzjaglr0dviwz2k19499k"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-quick-xml" ,rust-quick-xml-0.20))))
    (home-page "https://gitlab.com/xmpp-rs/xmpp-rs") (synopsis
      "Small, simple DOM implementation on top of quick-xml")
    (description
      "This package provides a small, simple DOM implementation on top of quick-xml")
    (license license:mpl2.0)))

(define-public rust-linked-hash-set-0.1
  (package
    (name "rust-linked-hash-set")
    (version "0.1.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "linked_hash_set" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "124m7wiz9ah7ah58ckai413mzfglh3y1nz64qy1s676qlinnq627"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-linked-hash-map"
          ,rust-linked-hash-map-0.5)
         ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/alexheretic/linked-hash-set")
    (synopsis "HashSet with insertion ordering")
    (description "HashSet with insertion ordering")
    (license license:asl2.0)))

(define-public rust-pbkdf2-0.6
  (package
    (name "rust-pbkdf2")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "pbkdf2" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "0jjaapyawm5iqn97mmfj40dvipsy78cm80qcva28009l2zbw1f5k"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-base64" ,rust-base64-0.13)
         ("rust-crypto-mac" ,rust-crypto-mac-0.10)
         ("rust-hmac" ,rust-hmac-0.10)
         ("rust-rand" ,rust-rand-0.7)
         ("rust-rand-core" ,rust-rand-core-0.5)
         ("rust-rayon" ,rust-rayon-1)
         ("rust-sha2" ,rust-sha2-0.9)
         ("rust-subtle" ,rust-subtle-2))))
    (home-page
      "https://github.com/RustCrypto/password-hashes/tree/master/pbkdf2")
    (synopsis "Generic implementation of PBKDF2")
    (description "Generic implementation of PBKDF2")
    (license (list license:expat license:asl2.0))))

(define-public rust-sha3-0.9
  (package
    (name "rust-sha3")
    (version "0.9.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "sha3" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "02d85wpvz75a0n7r2da15ikqjwzamhii11qy9gqf6pafgm0rj4gq"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-block-buffer" ,rust-block-buffer-0.9)
         ("rust-digest" ,rust-digest-0.9)
         ("rust-keccak" ,rust-keccak-0.1)
         ("rust-opaque-debug" ,rust-opaque-debug-0.3))))
    (home-page "https://github.com/RustCrypto/hashes")
    (synopsis "SHA-3 (Keccak) hash function")
    (description "SHA-3 (Keccak) hash function")
    (license (list license:expat license:asl2.0))))

(define-public rust-mockall-derive-0.10
  (package
    (name "rust-mockall-derive")
    (version "0.10.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "mockall-derive" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0cwhcfsc16b8p4yrsrxnhfxfdn0n89cmjja13wb6kxik8hhmpqp7"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-inputs
           `(("rust-cfg-if" ,rust-cfg-if-1)
             ("rust-proc-macro2" ,rust-proc-macro2-1)
             ("rust-quote" ,rust-quote-1)
             ("rust-syn" ,rust-syn-1))
           #:cargo-development-inputs
           `(("rust-pretty-assertions" ,rust-pretty-assertions-0.5))))
    (home-page "https://github.com/asomers/mockall")
    (synopsis "Procedural macros for Mockall")
    (description
     "This package provides procedural macros for the @code{mockall}
crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-mockall-derive-0.9
  (package
    (inherit rust-mockall-derive-0.10)
    (name "rust-mockall-derive")
    (version "0.9.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "mockall_derive" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1snywdscj3chgs0xqr5700dsw2hy0qwd0s3kdk4nz85w6m327m2x"))))
    (arguments
     (list #:skip-build? #t
           #:cargo-inputs
           `(("rust-cfg-if" ,rust-cfg-if-1)
             ("rust-proc-macro2" ,rust-proc-macro2-1)
             ("rust-quote" ,rust-quote-1)
             ("rust-syn" ,rust-syn-1))))))

(define-public rust-mockall-double-0.2
  (package
    (name "rust-mockall-double")
    (version "0.2.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "mockall-double" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1mmch8dnwrqz6v22hn128m7iaphlg7gw3s5xsa2cqvj5jxdw3zvx"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-inputs
           `(("rust-cfg-if" ,rust-cfg-if-1)
             ("rust-proc-macro2" ,rust-proc-macro2-1)
             ("rust-quote" ,rust-quote-1)
             ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/asomers/mockall")
    (synopsis "Test double adapter for Mockall")
    (description
     "This package provides a test double adapter for the
@code{mockall} crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-mockall-0.10
  (package
    (name "rust-mockall")
    (version "0.10.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "mockall" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1h4s2bpkkm0zyd6mnc3718p0ysmcxyiwrjlk4hrawy7si8r73dba"))))
    (build-system cargo-build-system)
    (arguments
     (list #:skip-build? #t
           #:cargo-inputs
           `(("rust-cfg-if" ,rust-cfg-if-1)
             ("rust-downcast" ,rust-downcast-0.10)
             ("rust-fragile" ,rust-fragile-1)
             ("rust-lazy-static" ,rust-lazy-static-1)
             ("rust-mockall-derive" ,rust-mockall-derive-0.10)
             ("rust-predicates" ,rust-predicates-1)
             ("rust-predicates-tree" ,rust-predicates-tree-1))
           #:cargo-development-inputs
           `(("rust-async-trait" ,rust-async-trait-0.1)
             ("rust-futures" ,rust-futures-0.3)
             ("rust-mockall-double" ,rust-mockall-double-0.2)
             ("rust-serde" ,rust-serde-1)
             ("rust-serde-derive" ,rust-serde-derive-1)
             ("rust-serde-json" ,rust-serde-json-1)
             ("rust-tracing" ,rust-tracing-0.1))))
    (home-page "https://github.com/asomers/mockall")
    (synopsis "Mock object library for Rust")
    (description
     "This package provides a mock object library written in Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-mockall-0.9
  (package
    (inherit rust-mockall-0.10)
    (name "rust-mockall")
    (version "0.9.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "mockall" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1m9kpv4523503v48ahyzk9g2rabvbjl70mlbkc8mkfzr4fni9mhq"))))
    (arguments
     (list #:cargo-inputs
           `(("rust-cfg-if" ,rust-cfg-if-1)
             ("rust-downcast" ,rust-downcast-0.10)
             ("rust-fragile" ,rust-fragile-1)
             ("rust-lazy-static" ,rust-lazy-static-1)
             ("rust-mockall-derive" ,rust-mockall-derive-0.9)
             ("rust-predicates" ,rust-predicates-1)
             ("rust-predicates-tree" ,rust-predicates-tree-1))
           #:cargo-development-inputs
           `(("rust-async-trait" ,rust-async-trait-0.1)
             ("rust-futures" ,rust-futures-0.3)
             ("rust-mockall-double" ,rust-mockall-double-0.2)
             ("rust-serde" ,rust-serde-1)
             ("rust-serde-derive" ,rust-serde-derive-1)
             ("rust-serde-json" ,rust-serde-json-1)
             ("rust-tracing" ,rust-tracing-0.1))))))

(define-public rust-sasl-0.5
  (package
    (name "rust-sasl")
    (version "0.5.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "sasl" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "1j9d6q580r18i90ksr0frjks3mzll73966p2rp0vn9w90b77sbap"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-base64" ,rust-base64-0.13)
         ("rust-getrandom" ,rust-getrandom-0.2)
         ("rust-hmac" ,rust-hmac-0.10)
         ("rust-pbkdf2" ,rust-pbkdf2-0.6)
         ("rust-sha-1" ,rust-sha-1-0.9)
         ("rust-sha2" ,rust-sha2-0.9))))
    (home-page "https://gitlab.com/lumi/sasl-rs")
    (synopsis "Crate for SASL authentication. Currently only does the client side")
    (description
"This package provides a crate for SASL authentication.  Currently only
does the client side")
    (license license:lgpl3+)))

(define-public rust-jid-0.9
  (package
    (name "rust-jid")
    (version "0.9.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "jid" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "1s3dl38wwhnx0pbzm4cnwqmmr09nfg4nv6w4yl3cmbkc2n7xipma"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-minidom" ,rust-minidom-0.13)
         ("rust-serde" ,rust-serde-1))))
    (home-page "https://gitlab.com/xmpp-rs/xmpp-rs")
    (synopsis
      "Crate which provides a Jid struct for Jabber IDs")
    (description
      "This package provides a crate which provides a Jid struct for Jabber IDs.")
    (license license:mpl2.0)))

(define-public rust-xmpp-parsers-0.18
  (package
    (name "rust-xmpp-parsers")
    (version "0.18.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "xmpp-parsers" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "064bjmngy0abcp9wcms7h5b13rljr0isliy83csaa0j7xyjmpkq1"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-base64" ,rust-base64-0.13)
         ("rust-blake2" ,rust-blake2-0.9)
         ("rust-chrono" ,rust-chrono-0.4)
         ("rust-digest" ,rust-digest-0.9)
         ("rust-jid" ,rust-jid-0.9)
         ("rust-minidom" ,rust-minidom-0.13)
         ("rust-sha-1" ,rust-sha-1-0.9)
         ("rust-sha2" ,rust-sha2-0.9)
         ("rust-sha3" ,rust-sha3-0.9))))
    (home-page "https://gitlab.com/xmpp-rs/xmpp-rs")
    (synopsis
      "Collection of parsers and serialisers for XMPP extensions")
    (description
      "Collection of parsers and serialisers for XMPP extensions")
    (license license:mpl2.0)))

(define-public rust-tokio-xmpp-3
  (package
    (name "rust-tokio-xmpp")
    (version "3.0.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "tokio-xmpp" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "0f8s4gsv9zs6rlkc40jjglcm0prq10ypxszrwvpxhjbygbxrzb2n"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-bytes" ,rust-bytes-1)
         ("rust-futures" ,rust-futures-0.3)
         ("rust-idna" ,rust-idna-0.2)
         ("rust-log" ,rust-log-0.4)
         ("rust-native-tls" ,rust-native-tls-0.2)
         ("rust-rustc-version" ,rust-rustc-version-0.3)
         ("rust-sasl" ,rust-sasl-0.5)
         ("rust-tokio" ,rust-tokio-1)
         ("rust-tokio-native-tls"
          ,rust-tokio-native-tls-0.3)
         ("rust-tokio-stream" ,rust-tokio-stream-0.1)
         ("rust-tokio-util" ,rust-tokio-util-0.6)
         ("rust-trust-dns-proto"
          ,rust-trust-dns-proto-0.20)
         ("rust-trust-dns-resolver"
          ,rust-trust-dns-resolver-0.20)
         ("rust-xml5ever" ,rust-xml5ever-0.16)
         ("rust-xmpp-parsers" ,rust-xmpp-parsers-0.18))))
    (home-page "https://gitlab.com/xmpp-rs/xmpp-rs")
    (synopsis
      "Asynchronous XMPP for Rust with tokio")
    (description
      "Asynchronous XMPP for Rust with tokio")
    (license license:mpl2.0)))

(define-public rust-chardetng-0.1
  (package
    (name "rust-chardetng")
    (version "0.1.17")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "chardetng" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1spikjcnblwa5n1nnk46fxkwn86yfiqxgs47h4yaw23vbfvg1f0l"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-arrayvec" ,rust-arrayvec-0.5)
         ("rust-cfg-if" ,rust-cfg-if-1)
         ("rust-encoding-rs" ,rust-encoding-rs-0.8)
         ("rust-memchr" ,rust-memchr-2)
         ("rust-rayon" ,rust-rayon-1))
        #:cargo-development-inputs
        (("rust-detone" ,rust-detone-1))))
    (home-page "https://docs.rs/chardetng/")
    (synopsis "A character encoding detector for legacy Web content")
    (description
      "This package provides a character encoding detector for legacy Web content")
    (license (list license:asl2.0 license:expat))))

(define-public rust-windows-x86-64-gnu-0.32
  (package
    (name "rust-windows-x86-64-gnu")
    (version "0.32.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "windows-x86-64-gnu" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1g34xhcayig9sndq3555w95q6lr7jr839zxv6l365ijlfhpv24n9"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/microsoft/windows-rs")
    (synopsis "Code gen support for the windows crate")
    (description "Code gen support for the windows crate")
    (license (list license:expat license:asl2.0))))

(define-public rust-windows-x86-64-msvc-0.32
  (package
    (name "rust-windows-x86-64-msvc")
    (version "0.32.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "windows-x86-64-msvc" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "05l392h518dxn808dc1zkv6d0r9z38q68qqc0ix9fs9741v28jjh"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/microsoft/windows-rs")
    (synopsis "Code gen support for the windows crate")
    (description "Code gen support for the windows crate")
    (license (list license:expat license:asl2.0))))

(define-public rust-windows-i686-msvc-0.32
  (package
    (name "rust-windows-i686-msvc")
    (version "0.32.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "windows-i686-msvc" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0wj1wi01fc8hrasbakjcq8y5a7ynw9l2mcw08svmsq823axi2v0l"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/microsoft/windows-rs")
    (synopsis "Code gen support for the windows crate")
    (description "Code gen support for the windows crate")
    (license (list license:expat license:asl2.0))))

(define-public rust-windows-i686-gnu-0.32
  (package
    (name "rust-windows-i686-gnu")
    (version "0.32.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "windows-i686-gnu" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "05g6kpdfxwxnw2gn1nrd7bsf5997rci0k3h3nqby168ph5l1qwba"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/microsoft/windows-rs")
    (synopsis "Code gen support for the windows crate")
    (description "Code gen support for the windows crate")
    (license (list license:expat license:asl2.0))))

(define-public rust-windows-aarch64-msvc-0.32
  (package
    (name "rust-windows-aarch64-msvc")
    (version "0.32.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "windows-aarch64-msvc" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1x8bnafz15ksgpbjbgk1l1j2jx4rq4a2ylzcahb1jhy4n59jgsfq"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/microsoft/windows-rs")
    (synopsis "Code gen support for the windows crate")
    (description "Code gen support for the windows crate")
    (license (list license:expat license:asl2.0))))

(define-public rust-windows-sys-0.32
  (package
    (name "rust-windows-sys")
    (version "0.32.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "windows-sys" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1imdvrsbivgrvzb9261aa77ws391l24s3r1b0wna34jz31vf9xix"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
        (("rust-windows-aarch64-msvc" ,rust-windows-aarch64-msvc-0.32)
         ("rust-windows-i686-gnu" ,rust-windows-i686-gnu-0.32)
         ("rust-windows-i686-msvc" ,rust-windows-i686-msvc-0.32)
         ("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.32)
         ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.32))))
    (home-page "https://github.com/microsoft/windows-rs")
    (synopsis "Rust for Windows")
    (description "Rust for Windows")
    (license (list license:expat license:asl2.0))))

(define-public rust-lock-api-0.4
  (package
    (name "rust-lock-api")
    (version "0.4.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "lock-api" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0frbbqqiwngg33xrc69xagi4rqqk62msllr7z95mlbjaxzbkv548"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-owning-ref" ,rust-owning-ref-0.4)
         ("rust-scopeguard" ,rust-scopeguard-1)
         ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/Amanieu/parking_lot")
    (synopsis
      "Wrappers to create fully-featured Mutex and RwLock types. Compatible with no_std.")
    (description
      "Wrappers to create fully-featured Mutex and RwLock types.  Compatible with
no_std.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-parking-lot-core-0.9
  (package
    (name "rust-parking-lot-core")
    (version "0.9.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "parking-lot-core" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0m49xlpxyw0c65c3011zvgzn2slpviw494816d2a4g8lqh61w518"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-backtrace" ,rust-backtrace-0.3)
         ("rust-cfg-if" ,rust-cfg-if-1)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-petgraph" ,rust-petgraph-0.5)
         ("rust-redox-syscall" ,rust-redox-syscall-0.2)
         ("rust-smallvec" ,rust-smallvec-1)
         ("rust-thread-id" ,rust-thread-id-4)
         ("rust-windows-sys" ,rust-windows-sys-0.32))))
    (home-page "https://github.com/Amanieu/parking_lot")
    (synopsis
      "An advanced API for creating custom synchronization primitives.")
    (description
      "An advanced API for creating custom synchronization primitives.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-parking-lot-0.12
  (package
    (inherit rust-parking-lot-0.11)
    (name "rust-parking-lot")
    (version "0.12.0")
    (source (origin
             (method url-fetch)
             (uri (crate-uri "parking-lot" version))
             (file-name (string-append name "-" version ".tar.gz"))
             (sha256
              (base32
               "0n7gp0cnfghglc370cxhawwfijvhj3wrjh8gdi8c06m6jcjfrxc7"))))
    (arguments
     (list #:cargo-inputs
           `(("rust-lock-api" ,rust-lock-api-0.4)
             ("rust-parking-lot-core" ,rust-parking-lot-core-0.9))
           #:cargo-development-inputs
           `(("rust-bincode" ,rust-bincode-1)
             ("rust-rand" ,rust-rand-0.8))))))

(define-public rust-crossterm-winapi-0.9
  (package
    (inherit rust-crossterm-winapi-0.8)
    (name "rust-crossterm-winapi")
    (version "0.9.0")
    (source (origin
             (method url-fetch)
             (uri (crate-uri "crossterm-winapi" version))
             (file-name (string-append name "-" version ".tar.gz"))
             (sha256
              (base32
               "075z15gxm4rn5yywq46khbg29bf504ix0f06zq3hx8aa91db7q9a"))))))

(define-public rust-crossterm-0.23
  (package
    (name "rust-crossterm")
    (version "0.23.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "crossterm" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0cmlsf9r38cs9mi3mfqf40574kd3ap6nksi1hlghy8ldvhkmmdvp"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-bitflags" ,rust-bitflags-1)
         ("rust-crossterm-winapi" ,rust-crossterm-winapi-0.9)
         ("rust-futures-core" ,rust-futures-core-0.3)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-mio" ,rust-mio-0.7)
         ("rust-parking-lot" ,rust-parking-lot-0.12)
         ("rust-serde" ,rust-serde-1)
         ("rust-signal-hook" ,rust-signal-hook-0.3)
         ("rust-signal-hook-mio" ,rust-signal-hook-mio-0.2)
         ("rust-winapi" ,rust-winapi-0.3))
        #:cargo-development-inputs
        (("rust-async-std" ,rust-async-std-1)
         ("rust-futures" ,rust-futures-0.3)
         ("rust-futures-timer" ,rust-futures-timer-3)
         ("rust-serde-json" ,rust-serde-json-1)
         ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/crossterm-rs/crossterm")
    (synopsis "A crossplatform terminal library for manipulating terminals.")
    (description
      "This package provides a crossplatform terminal library for manipulating
terminals.")
    (license license:expat)))

(define-public rust-etcetera-0.3
  (package
    (name "rust-etcetera")
    (version "0.3.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "etcetera" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1v1d2z2h1ay3skks0s4n833z275nkdf28d168cyq7ywl3vyh8sq1"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-cfg-if" ,rust-cfg-if-1)
         ("rust-dirs-next" ,rust-dirs-next-2)
         ("rust-thiserror" ,rust-thiserror-1))))
    (home-page "https://github.com/arzg/etcetera")
    (synopsis
      "An unopinionated library for obtaining configuration, data and cache directories")
    (description
      "This package provides an unopinionated library for obtaining configuration, data and cache directories.")
    (license (list license:expat license:asl2.0))))

(define-public rust-jsonrpc-core-18
  (package
    (name "rust-jsonrpc-core")
    (version "18.0.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "jsonrpc-core" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1sv5m6bxyscdqg8cfzlsm8f3vks3972zc9w475l4h19dxxmggxql"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-futures" ,rust-futures-0.3)
         ("rust-futures-executor" ,rust-futures-executor-0.3)
         ("rust-futures-util" ,rust-futures-util-0.3)
         ("rust-log" ,rust-log-0.4)
         ("rust-serde" ,rust-serde-1)
         ("rust-serde-derive" ,rust-serde-derive-1)
         ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/paritytech/jsonrpc")
    (synopsis
      "Transport agnostic Rust implementation of the JSON-RPC 2.0 Specification.")
    (description
      "This package provides a transport agnostic Rust implementation of the JSON-RPC 2.0 Specification.")
    (license license:expat)))

(define-public rust-lsp-types-0.92
  (package
    (name "rust-lsp-types")
    (version "0.92.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "lsp-types" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0xpw622gsl3js356rap7ah1z7kkz3a5sdkn3ky6206ym890rv9p8"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-bitflags" ,rust-bitflags-1)
         ("rust-serde" ,rust-serde-1)
         ("rust-serde-json" ,rust-serde-json-1)
         ("rust-serde-repr" ,rust-serde-repr-0.1)
         ("rust-url" ,rust-url-2))))
    (home-page "https://github.com/gluon-lang/lsp-types")
    (synopsis
      "Types for interaction with a language server, using VSCode's Language Server Protocol")
    (description
      "Types for interaction with a language server, using VSCode's Language Server
Protocol")
    (license license:expat)))

(define-public rust-pulldown-cmark-0.9
  (package
    (name "rust-pulldown-cmark")
    (version "0.9.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "pulldown-cmark" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1ml1l6adgsmpxipjcm3hz5xmrfybr5z9ldbcwhxapjdh8jjrgw9l"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-bitflags" ,rust-bitflags-1)
         ("rust-getopts" ,rust-getopts-0.2)
         ("rust-memchr" ,rust-memchr-2)
         ("rust-serde" ,rust-serde-1)
         ("rust-unicase" ,rust-unicase-2))
        #:cargo-development-inputs
        (("rust-bincode" ,rust-bincode-1)
         ("rust-criterion" ,rust-criterion-0.3)
         ("rust-html5ever" ,rust-html5ever-0.25)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-markup5ever-rcdom" ,rust-markup5ever-rcdom-0.1)
         ("rust-regex" ,rust-regex-1)
         ("rust-serde-json" ,rust-serde-json-1)
         ("rust-tendril" ,rust-tendril-0.4))))
    (home-page "https://github.com/raphlinus/pulldown-cmark")
    (synopsis "A pull parser for CommonMark")
    (description "This package provides a pull parser for CommonMark")
    (license license:expat)))

(define-public rust-ropey-1
  (package
    (name "rust-ropey")
    (version "1.3.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ropey" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1hzyq8y5nzcfp74j0gi1a222p8xamyhv8n3igk9hiwyrpijsmfg6"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-smallvec" ,rust-smallvec-1))
        #:cargo-development-inputs
        (("rust-criterion" ,rust-criterion-0.3)
         ("rust-proptest" ,rust-proptest-0.9)
         ("rust-rand" ,rust-rand-0.7)
         ("rust-unicode-segmentation" ,rust-unicode-segmentation-1))))
    (home-page "https://github.com/cessen/ropey")
    (synopsis "A fast and robust text rope for Rust")
    (description "This package provides a fast and robust text rope for Rust.")
    (license license:expat)))

(define-public rust-signal-hook-tokio-0.3
  (package
    (name "rust-signal-hook-tokio")
    (version "0.3.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "signal-hook-tokio" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "07nggsi80jv39xisdk2r7cik7hx2d2qa2sivvqkpxqxidzvl2ci1"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-futures-core" ,rust-futures-core-0.3)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-signal-hook" ,rust-signal-hook-0.3)
         ("rust-tokio" ,rust-tokio-1))
        #:cargo-development-inputs
        (("rust-futures" ,rust-futures-0.3)
         ("rust-serial-test" ,rust-serial-test-0.5)
         ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/vorner/signal-hook")
    (synopsis "Tokio support for signal-hook")
    (description "Tokio support for signal-hook")
    (license (list license:asl2.0 license:expat))))

(define-public rust-similar-2
  (package
    (name "rust-similar")
    (version "2.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "similar" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1lw33na01r35h09s47jqhjgz3m29wapl20f6ybsla5d1cfgrf91f"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-bstr" ,rust-bstr-0.2)
         ("rust-serde" ,rust-serde-1)
         ("rust-unicode-segmentation" ,rust-unicode-segmentation-1))
        #:cargo-development-inputs
        (("rust-console" ,rust-console-0.14)
         ("rust-insta" ,rust-insta-1)
         ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/mitsuhiko/similar")
    (synopsis "A diff library for Rust")
    (description "This package provides a diff library for Rust")
    (license license:asl2.0)))

(define-public rust-slotmap-1
  (package
    (name "rust-slotmap")
    (version "1.0.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "slotmap" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0hhkvsc3x79c7fh97b3padjhssd19hzdyyiv291mr3qf3lk8xq71"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-serde" ,rust-serde-1)
         ("rust-version-check" ,rust-version-check-0.9))
        #:cargo-development-inputs
        (("rust-fxhash" ,rust-fxhash-0.2)
         ("rust-quickcheck" ,rust-quickcheck-0.9)
         ("rust-serde" ,rust-serde-1)
         ("rust-serde-derive" ,rust-serde-derive-1)
         ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/orlp/slotmap")
    (synopsis "Slotmap data structure")
    (description "This package provides a slotmap data structure.")
    (license license:zlib)))

(define-public rust-tokio-stream-0.1
  (package
    (name "rust-tokio-stream")
    (version "0.1.8")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "tokio-stream" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1qwq0y21xprsql4v9y1cm1ymhgw66rznjmnjrjsii27zxy25852h"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-futures-core" ,rust-futures-core-0.3)
         ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
         ("rust-tokio" ,rust-tokio-1)
         ("rust-tokio-util" ,rust-tokio-util-0.6))
        #:cargo-development-inputs
        (("rust-async-stream" ,rust-async-stream-0.3)
         ("rust-futures" ,rust-futures-0.3)
         ("rust-proptest" ,rust-proptest-1)
         ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://tokio.rs")
    (synopsis "Utilities to work with `Stream` and `tokio`.
")
    (description "Utilities to work with `Stream` and `tokio`.")
    (license license:expat)))

(define-public rust-unicode-general-category-0.5
  (package
    (name "rust-unicode-general-category")
    (version "0.5.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "unicode-general-category" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1mnz1haq2wf7knyln6ff8z992r4p1p3h8hc2l8cmn25qd220j60j"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/yeslogic/unicode-general-category")
    (synopsis "Fast lookup of the Unicode General Category property for char")
    (description
      "Fast lookup of the Unicode General Category property for char")
    (license license:asl2.0)))

(define-public rust-unic-normal-0.9
  (package
    (name "rust-unic-normal")
    (version "0.9.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "unic-normal" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0qmsdf7b902mmaslhwww0hzmzqn26mzh7sraphl4dac96p9n97gh"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-unic-ucd-normal" ,rust-unic-ucd-normal-0.9))
        #:cargo-development-inputs
        (("rust-unic-ucd-version" ,rust-unic-ucd-version-0.9))))
    (home-page "https://github.com/open-i18n/rust-unic/")
    (synopsis "UNIC â\x80\x94 Unicode Normalization Forms")
    (description "UNIC â\x80\x94 Unicode Normalization Forms")
    (license (list license:expat license:asl2.0))))

(define-public rust-detone-1
  (package
    (name "rust-detone")
    (version "1.0.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "detone" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "052mnp8qjp71ypcv0ixvlw7isn1yv79qn05jrcfi9j2r70clq47p"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-development-inputs
        (("rust-unic-normal" ,rust-unic-normal-0.9))))
    (home-page "https://docs.rs/detone/")
    (synopsis "Decompose Vietnamese tone marks")
    (description "Decompose Vietnamese tone marks")
    (license (list license:expat license:asl2.0))))

(define-public rust-unicode-segmentation-1
  (package
    (name "rust-unicode-segmentation")
    (version "1.9.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "unicode-segmentation" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "16gxxda9aya0arcqs9aa9lb31b3i54i34dmyqi6j5xkpszsj123y"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-development-inputs
        (("rust-criterion" ,rust-criterion-0.3)
         ("rust-quickcheck" ,rust-quickcheck-0.7))))
    (home-page "https://github.com/unicode-rs/unicode-segmentation")
    (synopsis
      "This crate provides Grapheme Cluster, Word and Sentence boundaries
according to Unicode Standard Annex #29 rules.
")
    (description
      "This crate provides Grapheme Cluster, Word and Sentence boundaries according to
Unicode Standard Annex #29 rules.")
    (license (list license:expat license:asl2.0))))

(define-public rust-clipboard-win-4
  (package
    (name "rust-clipboard-win")
    (version "4.4.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "clipboard-win" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1nq58r8znx92k2yl9qhylp1z8pjfw6n9vfqw3q41zh1d2cw14gig"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
        (("rust-error-code" ,rust-error-code-2)
         ("rust-str-buf" ,rust-str-buf-1)
         ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/DoumanAsh/clipboard-win")
    (synopsis "Provides simple way to interact with Windows clipboard.")
    (description
      "This package provides simple way to interact with Windows clipboard.")
    (license license:boost1.0)))

(define-public rust-assert-impl-0.1
  (package
    (name "rust-assert-impl")
    (version "0.1.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "assert-impl" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "17jvig9rwdc1sf1j5q8q9k69njg3k8g7x7g6wcb711hcvq9l6in3"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/upsuper/assert-impl")
    (synopsis "Assert that a type implements a trait")
    (description
     "This package provides a macro for asserting that a type
implements a trait in Rust.")
    (license license:expat)))

(define-public rust-mio-aio-0.6
  (package
    (name "rust-mio-aio")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "mio-aio" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1z7s0swv1pgvzmn8gaj7cdgid75y3bcklcyqc2b9ihsvxpc6wcca"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-mio" ,rust-mio-0.7) ("rust-nix" ,rust-nix-0.22))
        #:cargo-development-inputs
        (("rust-assert-impl" ,rust-assert-impl-0.1)
         ("rust-log" ,rust-log-0.3)
         ("rust-mio" ,rust-mio-0.7)
         ("rust-sysctl" ,rust-sysctl-0.1)
         ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/asomers/mio-aio")
    (synopsis "POSIX AIO bindings for mio
")
    (description "POSIX AIO bindings for mio")
    (license (list license:expat license:asl2.0))))

(define-public rust-libc-0.2
  (package
    (name "rust-libc")
    (version "0.2.118")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "libc" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "153ax7fccbf0wpmhbccgxlbbgcpjfvqzk1xa0i1m18354ikhkr86"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1))))
    (home-page "https://github.com/rust-lang/libc")
    (synopsis "Raw FFI bindings to platform libraries like libc.
")
    (description "Raw FFI bindings to platform libraries like libc.")
    (license (list license:expat license:asl2.0))))

(define-public rust-socket2-0.4
  (package
    (name "rust-socket2")
    (version "0.4.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "socket2" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1q71bsw7sqr3nq71gszywgymxxfv311a3w1aia4k5binjisjpmv6"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-libc" ,rust-libc-0.2) ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/rust-lang/socket2")
    (synopsis
      "Utilities for handling networking sockets with a maximal amount of configuration
possible intended.
")
    (description
      "Utilities for handling networking sockets with a maximal amount of configuration
possible intended.")
    (license (list license:expat license:asl2.0))))

(define-public rust-tokio-1
  (package
    (name "rust-tokio")
    (version "1.17.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "tokio" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1vm5ynzjpsqzqv15fdrk69n6y8fhwlilmqvj270ggwsnjz23mxra"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-bytes" ,rust-bytes-1)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-memchr" ,rust-memchr-2)
         ("rust-mio" ,rust-mio-0.8)
         ("rust-num-cpus" ,rust-num-cpus-1)
         ("rust-once-cell" ,rust-once-cell-1)
         ("rust-parking-lot" ,rust-parking-lot-0.12)
         ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
         ("rust-signal-hook-registry" ,rust-signal-hook-registry-1)
         ("rust-socket2" ,rust-socket2-0.4)
         ("rust-tokio-macros" ,rust-tokio-macros-1)
         ("rust-tracing" ,rust-tracing-0.1)
         ("rust-winapi" ,rust-winapi-0.3))
        #:cargo-development-inputs
        (("rust-async-stream" ,rust-async-stream-0.3)
         ("rust-futures" ,rust-futures-0.3)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-loom" ,rust-loom-0.5)
         ("rust-mio-aio" ,rust-mio-aio-0.6)
         ("rust-mockall" ,rust-mockall-0.10)
         ("rust-nix" ,rust-nix-0.23)
         ("rust-ntapi" ,rust-ntapi-0.3)
         ("rust-proptest" ,rust-proptest-1)
         ("rust-rand" ,rust-rand-0.8)
         ("rust-socket2" ,rust-socket2-0.4)
         ("rust-tempfile" ,rust-tempfile-3)
         ("rust-tokio-stream" ,rust-tokio-stream-0.1)
         ("rust-tokio-test" ,rust-tokio-test-0.4)
         ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
    (home-page "https://tokio.rs")
    (synopsis
      "An event-driven, non-blocking I/O platform for writing asynchronous I/O
backed applications.
")
    (description
      "An event-driven, non-blocking I/O platform for writing asynchronous I/O backed
applications.")
    (license license:expat)))

(define-public rust-encoding-rs-0.8
  (package
    (name "rust-encoding-rs")
    (version "0.8.30")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "encoding_rs" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1pqirqhlj8mbaln0pv4dk65yr22clpx509ci6gdgs3r5pf5dr5kq"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-cfg-if" ,rust-cfg-if-1)
         ("rust-packed-simd-2" ,rust-packed-simd-2-0.3)
         ("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
        (("rust-bincode" ,rust-bincode-1)
         ("rust-serde-derive" ,rust-serde-derive-1)
         ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://docs.rs/encoding_rs/")
    (synopsis "A Gecko-oriented implementation of the Encoding Standard")
    (description
      "This package provides a Gecko-oriented implementation of the Encoding Standard")
    (license (list ;; the correct spdx: ((Apache-2.0 OR MIT) AND BSD-3-Clause)
	      license:asl2.0 license:expat license:bsd-3))))

(define-public rust-signal-hook-0.3
  (package
    (name "rust-signal-hook")
    (version "0.3.13")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "signal-hook" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0bdzvax49hm0d3s59j062cznhbkznpylzdsv93mdq1qh4zgrfz34"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-cc" ,rust-cc-1)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-signal-hook-registry" ,rust-signal-hook-registry-1))
        #:cargo-development-inputs
        (("rust-serial-test" ,rust-serial-test-0.5))))
    (home-page "https://github.com/vorner/signal-hook")
    (synopsis "Unix signal handling")
    (description "Unix signal handling")
    (license (list license:asl2.0 license:expat))))

(define-public rust-futures-macro-0.3
  (package
    (name "rust-futures-macro")
    (version "0.3.21")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "futures-macro" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "04pmj5xfk5rdhlj69wc7w3zvdg3xardg8srig96lszrk00wf3h9k"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://rust-lang.github.io/futures-rs")
    (synopsis "The futures-rs procedural macro implementations.
")
    (description "The futures-rs procedural macro implementations.")
    (license (list license:expat license:asl2.0))))

(define-public rust-futures-io-0.3
  (package
    (name "rust-futures-io")
    (version "0.3.21")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "futures-io" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0swn29fysas36ikk5aw55104fi98117amvgxw9g96pjs5ab4ah7w"))))
    (build-system cargo-build-system)
    (home-page "https://rust-lang.github.io/futures-rs")
    (synopsis
      "The `AsyncRead`, `AsyncWrite`, `AsyncSeek`, and `AsyncBufRead` traits for the futures-rs library.
")
    (description
      "The `AsyncRead`, `AsyncWrite`, `AsyncSeek`, and `AsyncBufRead` traits for the
futures-rs library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-futures-core-0.3
  (package
    (name "rust-futures-core")
    (version "0.3.21")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "futures-core" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1lqhc6mqklh5bmkpr77p42lqwjj8gaskk5ba2p3kl1z4nw2gs28c"))))
    (build-system cargo-build-system)
    (home-page "https://rust-lang.github.io/futures-rs")
    (synopsis "The core traits and types in for the `futures` library.
")
    (description "The core traits and types in for the `futures` library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-futures-task-0.3
  (package
    (name "rust-futures-task")
    (version "0.3.21")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "futures-task" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0skpiz2ljisywajv79p70yapfwhkqhb39wxy3f09v47mdfbnmijp"))))
    (build-system cargo-build-system)
    (home-page "https://rust-lang.github.io/futures-rs")
    (synopsis "Tools for working with tasks.
")
    (description "Tools for working with tasks.")
    (license (list license:expat license:asl2.0))))

(define-public rust-futures-sink-0.3
  (package
    (name "rust-futures-sink")
    (version "0.3.21")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "futures-sink" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0s58gx5yw1a21xviw2qgc0wzk225vgn4kbzddrp141m3kw9kw5i1"))))
    (build-system cargo-build-system)
    (home-page "https://rust-lang.github.io/futures-rs")
    (synopsis "The asynchronous `Sink` trait for the futures-rs library.
")
    (description "The asynchronous `Sink` trait for the futures-rs library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-futures-channel-0.3
  (package
    (name "rust-futures-channel")
    (version "0.3.21")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "futures-channel" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0420lz2fmxa356ax1rp2sqi7b27ykfhvq4w9f1sla4hlp7j3q263"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-futures-core" ,rust-futures-core-0.3)
         ("rust-futures-sink" ,rust-futures-sink-0.3))))
    (home-page "https://rust-lang.github.io/futures-rs")
    (synopsis "Channels for asynchronous communication using futures-rs.
")
    (description "Channels for asynchronous communication using futures-rs.")
    (license (list license:expat license:asl2.0))))

(define-public rust-futures-util-0.3
  (package
    (name "rust-futures-util")
    (version "0.3.21")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "futures-util" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0sh3wqi8p36csjffy0irq8nlx9shqxp7z4dsih6bknarsvaspdyq"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-futures" ,rust-futures-0.1)
         ("rust-futures-channel" ,rust-futures-channel-0.3)
         ("rust-futures-core" ,rust-futures-core-0.3)
         ("rust-futures-io" ,rust-futures-io-0.3)
         ("rust-futures-macro" ,rust-futures-macro-0.3)
         ("rust-futures-sink" ,rust-futures-sink-0.3)
         ("rust-futures-task" ,rust-futures-task-0.3)
         ("rust-memchr" ,rust-memchr-2)
         ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
         ("rust-pin-utils" ,rust-pin-utils-0.1)
         ("rust-slab" ,rust-slab-0.4)
         ("rust-tokio-io" ,rust-tokio-io-0.1))
        #:cargo-development-inputs
        (("rust-tokio" ,rust-tokio-0.1))))
    (home-page "https://rust-lang.github.io/futures-rs")
    (synopsis
      "Common utilities and extension traits for the futures-rs library.
")
    (description
      "Common utilities and extension traits for the futures-rs library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-guile-0.1.6
  (package
    (name "rust-guile")
    (version "0.1.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rust-guile" version))
       (sha256
        (base32 "1rp6ajkhbxkig8z6w8qn6k11hh11h40zkxh4dqqpkajkh7irxmyh"))))
    (build-system cargo-build-system)
    (arguments
      (list #:phases
            #~(modify-phases %standard-phases
                (add-before 'build 'chdir
                  (lambda _
                    (chdir "./guix-vendor/download"))))
            #:cargo-inputs
            `(("rust-pkg-config-0.3" ,rust-pkg-config-0.3))))
    (inputs (list guile-next))
    (native-inputs (list pkg-config))
    (home-page "https://github.com/slondr/rust-guile")
    (synopsis "Provides a scheme runtime in your rust library")
    (description "This package provides a way to create access to
rust functions from guile.")
    (license (list license:agpl3))))

(define-public rust-calloop-0.9
  (package
    (inherit rust-calloop-0.6)
    (name "rust-calloop")
    (version "0.9.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "calloop" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "10mbcsd7fj3cg0a463h3003wycv955cnj4pm2gla2sp5xxhyqbmz"))))
    (arguments
     (list ;; thread 'loop_logic::tests::insert_source_no_interest' panicked at
           ;; 'assertion failed: ret.is_ok()', src/loop_logic.rs:576:9
           #:tests? #f
           #:cargo-inputs
           `(("rust-futures-io" ,rust-futures-io-0.3)
             ("rust-futures-util" ,rust-futures-util-0.3)
             ("rust-log" ,rust-log-0.4)
             ("rust-nix" ,rust-nix-0.22))
           #:cargo-development-inputs
           `(("rust-futures" ,rust-futures-0.3))))))

(define-public rust-dlib-0.5
  (package
    (inherit rust-dlib-0.4)
    (name "rust-dlib")
    (version "0.5.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "dlib" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1547hy7nrhkrb2i09va244c0h8mr845ccbs2d2mc414c68bpa6xc"))))
    (arguments
     (list #:tests? #f ; seem to reference unimported c_* types
           #:cargo-inputs `(("rust-libloading" ,rust-libloading-0.7))))))

(define-public rust-wayland-scanner-0.29
  (package
    (inherit rust-wayland-scanner-0.28)
    (name "rust-wayland-scanner")
    (version "0.29.4")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "wayland-scanner" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1q7r764z8k922xf51fj56b1xm29ffi9ap8jnf4c478gp8cqyv89r"))))
    (arguments
     (list #:cargo-inputs
           `(("rust-proc-macro2" ,rust-proc-macro2-1)
             ("rust-quote" ,rust-quote-1)
             ("rust-xml-rs" ,rust-xml-rs-0.8))))))

(define-public rust-wayland-sys-0.29
  (package
    (inherit rust-wayland-sys-0.28)
    (name "rust-wayland-sys")
    (version "0.29.4")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "wayland-sys" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1m2jwk5q36jidwbdmdicmi27r9dzi4wanzg3i28nfxc9kbvisd6r"))))
    (arguments
     (substitute-keyword-arguments (package-arguments rust-wayland-sys-0.28)
       ((#:cargo-inputs _)
        `(("rust-dlib" ,rust-dlib-0.5)
          ("rust-lazy-static" ,rust-lazy-static-1)
          ("rust-libc" ,rust-libc-0.2)
          ("rust-memoffset" ,rust-memoffset-0.6)
          ("rust-pkg-config" ,rust-pkg-config-0.3)))))))

(define-public rust-wayland-commons-0.29
  (package
    (inherit rust-wayland-commons-0.28)
    (name "rust-wayland-commons")
    (version "0.29.4")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "wayland-commons" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0gnk4a771i3g1k4fbzx54xnganpc9j68jrx8xj839hfp83iybxll"))))
    (arguments
     (list #:cargo-inputs
           `(("rust-nix" ,rust-nix-0.22)
             ("rust-once-cell" ,rust-once-cell-1)
             ("rust-smallvec" ,rust-smallvec-1)
             ("rust-wayland-sys" ,rust-wayland-sys-0.29))))))

(define-public rust-wayland-client-0.29
  (package
    (inherit rust-wayland-client-0.28)
    (name "rust-wayland-client")
    (version "0.29.4")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "wayland-client" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "13s5sj9344izk2g48yizk81kcg8jg4940gg2v6bzcmrjwxh388li"))))
    (arguments
     `(#:tests? #f ; references nonexistent xdg_toplevel?
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-downcast-rs" ,rust-downcast-rs-1)
        ("rust-nix" ,rust-nix-0.22)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-scoped-tls" ,rust-scoped-tls-1)
        ("rust-wayland-commons" ,rust-wayland-commons-0.29)
        ("rust-wayland-sys" ,rust-wayland-sys-0.29))
       #:cargo-development-inputs
       (("rust-tempfile" ,rust-tempfile-3))))
    (inputs (list rust-wayland-scanner-0.29))))

(define-public rust-wayland-cursor-0.29
  (package
    (inherit rust-wayland-cursor-0.28)
    (name "rust-wayland-cursor")
    (version "0.29.4")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "wayland-cursor" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1gd6aswkrdz556n54pjpd4rchw7jkgcx6hnrhgy62y2y7pqmh9y5"))))
    (arguments
     (list #:cargo-inputs
           `(("rust-nix" ,rust-nix-0.22)
             ("rust-wayland-client" ,rust-wayland-client-0.29)
             ("rust-wayland-client" ,rust-wayland-scanner-0.29)
             ("rust-xcursor" ,rust-xcursor-0.3))))))

(define-public rust-wayland-server-0.29
  (package
    (inherit rust-wayland-server-0.28)
    (name "rust-wayland-server")
    (version "0.29.4")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "wayland-server" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1wj8gf28dbjwb824i29wf3wr5r6wp6ssknjm9b5dnb1fah47mk66"))))
    (arguments
     `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1)
                       ("rust-downcast-rs" ,rust-downcast-rs-1)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-nix" ,rust-nix-0.22)
                       ("rust-parking-lot" ,rust-parking-lot-0.11)
                       ("rust-scoped-tls" ,rust-scoped-tls-1)
                       ("rust-wayland-commons" ,rust-wayland-commons-0.29)
                       ("rust-wayland-scanner" ,rust-wayland-scanner-0.29)
                       ("rust-wayland-sys" ,rust-wayland-sys-0.29))))))

(define-public rust-wayland-protocols-0.29
  (package
    (inherit rust-wayland-protocols-0.28)
    (name "rust-wayland-protocols")
    (version "0.29.4")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "wayland-protocols" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0hap8vky2fwsq05c98c8xs00gb9m5kxp8kq3zr0jwh036gi7l530"))))
    (arguments
     `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1)
                       ("rust-wayland-client" ,rust-wayland-client-0.29)
                       ("rust-wayland-commons" ,rust-wayland-commons-0.29)
                       ("rust-wayland-scanner" ,rust-wayland-scanner-0.29)
                       ("rust-wayland-server" ,rust-wayland-server-0.29))))))

(define-public rust-smithay-client-toolkit-0.15
  (package
    (inherit rust-smithay-client-toolkit-0.12)
    (name "rust-smithay-client-toolkit")
    (version "0.15.4")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "smithay-client-toolkit" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "18wxla80y6m4l3dwawi7bl1d9m9dfcg4sxxjcgjqq3psjxmg2a4a"))))
    (arguments
     (list ;; while compiling `gif`: error[E0599]: no method named `into_vec`
           ;; found for struct `weezl::encode::Encoder` in the current scope
           #:tests? #f
           #:cargo-inputs
           `(("rust-bitflags" ,rust-bitflags-1)
             ("rust-calloop" ,rust-calloop-0.9)
             ("rust-dlib" ,rust-dlib-0.5)
             ("rust-lazy-static" ,rust-lazy-static-1)
             ("rust-log" ,rust-log-0.4)
             ("rust-memmap2" ,rust-memmap2-0.3)
             ("rust-nix" ,rust-nix-0.22)
             ("rust-pkg-config" ,rust-pkg-config-0.3)
             ("rust-wayland-client" ,rust-wayland-client-0.29)
             ("rust-wayland-cursor" ,rust-wayland-cursor-0.29)
             ("rust-wayland-protocols" ,rust-wayland-protocols-0.29))
           #:cargo-development-inputs
           `(("rust-image" ,rust-image-0.23))))))

(define-public rust-rpassword-3
  (package
    (inherit rust-rpassword-5)
    (name "rust-rpassword")
    (version "3.0.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "rpassword" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0vkifbbs160d7i7wy3kb0vw9mbf3pf470hg8f623rjkzmsyafky3"))))
    (arguments
     (list #:cargo-inputs
           `(("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
             ("rust-libc" ,rust-libc-0.2)
             ("rust-winapi" ,rust-winapi-0.2))))))

(define-public rust-globwalk-0.5
  (package
    (name "rust-globwalk")
    (version "0.5.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "globwalk" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "09axyql26s09z60sgi3y3lkin9swy2b5km3b0v6mm84xhlljxyl9"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-inputs
           `(("rust-ignore" ,rust-ignore-0.4)
             ("rust-walkdir" ,rust-walkdir-2))
           #:cargo-development-inputs
           `(("rust-docmatic" ,rust-docmatic-0.1)
             ("rust-tempdir" ,rust-tempdir-0.3))))
    (home-page "https://github.com/gilnaa/globwalk")
    (synopsis "Glob-matched recursive file system walking for Rust")
    (description "This package provides a glob-matching recursive file
system walk library for Rust.")
    (license license:expat)))

(define-public rust-assert-fs-0.11
  (package
    (name "rust-assert-fs")
    (version "0.11.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "assert-fs" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1h1q90qskbylv4g3jyizdanj73835q7vvq7q10y555x4gnavmrjc"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-inputs
           `(("rust-globwalk" ,rust-globwalk-0.5)
             ("rust-predicates" ,rust-predicates-1)
             ("rust-predicates-core" ,rust-predicates-core-1)
             ("rust-predicates-tree" ,rust-predicates-tree-1)
             ("rust-tempfile" ,rust-tempfile-3))
           #:cargo-development-inputs
           `(("rust-docmatic" ,rust-docmatic-0.1))))
    (home-page "https://github.com/assert-rs/assert_fs")
    (synopsis "Filesystem testing library for Rust")
    (description
     "This package provides filesystem fixtures and assertions for
testing in Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-html-escape-0.2
  (package
    (name "rust-html-escape")
    (version "0.2.11")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "html-escape" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0v62vdrz02p5sgpvhv7hcg8g4paipqkc8hkazd4ynf7gl6glgrxq"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-inputs
           `(("rust-utf8-width" ,rust-utf8-width-0.1))
           #:cargo-development-inputs
           `(("rust-bencher" ,rust-bencher-0.1))))
    (home-page "https://magiclen.org/html-escape")
    (synopsis "Encode special characters as HTML entities in Rust")
    (description
     "This package provides a library for encoding and decoding
special characters from and to HTML entries.")
    (license license:expat)))

(define-public rust-rust-crypto-0.2
  (package
    (name "rust-rust-crypto")
    (version "0.2.36")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rust-crypto" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0aias7gh2ypj4skmh6hfsjli4fhnvcvf9s1ljjpz9m9zk79havgp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-gcc" ,rust-gcc-0.3)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-rand" ,rust-rand-0.3)
        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
        ("rust-time" ,rust-time-0.1))))
    (home-page "https://github.com/DaGenix/rust-crypto/")
    (synopsis "Mostly pure-Rust implementation of various cryptographic algorithms")
    (description
     "This package provides a (mostly) pure-Rust implementation of various
common cryptographic algorithms.")
    (license (list license:expat license:asl2.0))))
